我正在构建一个自定义 Webpack 加载器。加载器做什么并不重要,但它以某种方式转换 JSON 并使用来自 JSON 的路径来解析某些其他细节。在我loader.js
的情况下,我需要一种方法来获取正在加载的 JSON 文件的原始路径,以便我可以正确解析其他路径。
使用这个简单的加载器和配置:
加载器.js
module.exports = function (source) {
/* Do some file lookups based on source and modify source */
this.callback(null, source)
}
webpack.config.js
module.exports = {
/* ... */
module: {
rules: [
{
test: /\.json$/i,
use: ['loader'],
},
],
},
};
加载器正在工作(正在使用),但我添加的任何业务逻辑都需要具有路径感知功能,以便它可以在文件系统上进行查找。
因为这是一个 JSON 加载器,所以source
加载器函数中的 var 作为原始 JSON 内容传递,没有关于从哪个文件加载 JSON 的详细信息。如何从加载器中获取路径信息,以便我可以根据来自的内容执行其他文件查找source
?