5

我的一个项目中的DllReferencePlugin有问题(我使用的是Webpack 1.13.2)。特别是,我有 3 对由DllPlugin生成的清单和包文件,在我的主包的插件部分中,我有 3 个DllReferencePlugin部分:

entry: {    
  body: [
    './src/main.js',
  ],
},
...
plugins: [
...
    new webpack.DllReferencePlugin({
      context: process.cwd(),
      manifest: path.join(dllPath, 'commons-manifest.json'),
    }),
    new webpack.DllReferencePlugin({
      context: process.cwd(),
      manifest: path.join(dllPath, 'vendor-manifest.json'),
    }),
    new webpack.DllReferencePlugin({
      context: process.cwd(),
      manifest: path.join(dllPath, 'react-manifest.json'),
    }),    
]
...

当我尝试运行它时,我收到以下错误:

/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js:43 if(request && request in this.options.content) { ^

TypeError:无法使用“in”运算符在未定义中搜索“./src/main.js”

相同的配置对我的其他项目很有效,所以我认为这个错误与路径解析有关。我已经尝试了上下文和清单路径的相对路径,但它也不起作用。

4

1 回答 1

2

问题是对于这个特定版本的 Webpack (1.13.2)manifest: require(path.join(dllPath, 'commons-manifest.json'))应该使用而不是manifest: path.join(dllPath, 'commons-manifest.json')

于 2017-02-26T15:41:22.070 回答