我正在写一个webpack加载程序,它应该工作,不管它是链(加载器)中的最后一个,还是中间 - 因此返回一个函数而不是JavaScript字符串。webpack loader如何知道它是链中的最终加载器?
加载程序如何知道它是链中的最后一个?
或者这是一个坏主意,所有加载器必须总是返回一个JS字符串?
我正在写一个webpack加载程序,它应该工作,不管它是链(加载器)中的最后一个,还是中间 - 因此返回一个函数而不是JavaScript字符串。webpack loader如何知道它是链中的最终加载器?
加载程序如何知道它是链中的最后一个?
或者这是一个坏主意,所有加载器必须总是返回一个JS字符串?
我相信你的自定义加载器里面的this.options
会返回webpack配置对象。所以你可以使用它来访问this.options.module.loaders
来确定加载器的顺序以及哪个加载器是最后一个/第一个/等等。
你可以阅读更多关于LoaderAPI here.
请看看在loader-utils
包。
不完全确定,但我认为这可能会帮助您了解装载机在链中的位置。
// @module loaders/foo
export default function(source, inputSourceMap) {
const remaning = loaderUtils.getRemainingRequest(this).split('!');
};