我正在寫一個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('!');
};