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')