Webpack DllReferencePlugin无法正常工作

时间:2017-02-26 09:33:08

标签: webpack dllplugin dllreferenceplugin

我的一个项目上遇到了 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(请求&&请求this.options.content){                                                      ^

     

TypeError:不能使用'in'运算符来搜索'./src/main.js'   未定义

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

1 个答案:

答案 0 :(得分:2)

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