Webpack Can';无法从网页包加载程序访问resourcePath属性
我正在编写一个自定义网页包加载器,它需要知道它当前正在修改的文件的路径,并读取,我发现该属性是“resourcePath”,但当我签出加载器内的上下文时,我拥有的所有属性都是:Webpack Can';无法从网页包加载程序访问resourcePath属性,webpack,Webpack,我正在编写一个自定义网页包加载器,它需要知道它当前正在修改的文件的路径,并读取,我发现该属性是“resourcePath”,但当我签出加载器内的上下文时,我拥有的所有属性都是: { data: undefined, inputValue: undefined, query: '?mykey=value', async: [Function: async], callback: [Function], cacheable: true } 我的网页包配置文件如下所示: modu
{ data: undefined,
inputValue: undefined,
query: '?mykey=value',
async: [Function: async],
callback: [Function],
cacheable: true }
我的网页包配置文件如下所示:
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: '../plugins/myloaderloader.js?mykey=value'
}
]
}
加载器本身只是一个普通的导出函数,它根据加载器文档接受字符串。我是否遗漏了什么,或者这可能是一个错误
谢谢 实际上,resourcePath是可用的。如果执行
console.log(this.resourcePath)
操作,您将看到源代码的完整路径。但是如果您执行console.log(this)
,则输出将与您在问题中所写的一样。我认为这是因为toString()
这个对象的方法,是的,这有点令人困惑。如果有人仍然遇到同样的问题,请小心,使用:
your-loader.js
module.exports=函数(源){
//...
}
而不是
module.exports = (source) => {
//...
}