Webpack Can';无法从网页包加载程序访问resourcePath属性

Webpack Can';无法从网页包加载程序访问resourcePath属性,webpack,Webpack,我正在编写一个自定义网页包加载器,它需要知道它当前正在修改的文件的路径,并读取,我发现该属性是“resourcePath”,但当我签出加载器内的上下文时,我拥有的所有属性都是: { data: undefined, inputValue: undefined, query: '?mykey=value', async: [Function: async], callback: [Function], cacheable: true } 我的网页包配置文件如下所示: modu

我正在编写一个自定义网页包加载器,它需要知道它当前正在修改的文件的路径,并读取,我发现该属性是“resourcePath”,但当我签出加载器内的上下文时,我拥有的所有属性都是:

{ 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) => {
  //...
}