Webpack 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 ответ

Решение

Проблема заключалась в том, что для этой конкретной версии Webpack (1.13.2) manifest: require(path.join(dllPath, 'commons-manifest.json')) следует использовать вместо manifest: path.join(dllPath, 'commons-manifest.json')

Другие вопросы по тегам