В настоящее время я обновляю WP с v1.2 => v4.1 в большом коммерческом приложении. У меня возникла проблема, когда splitChunks создает несколько экземпляров своего магазина для каждой точки входа (используемый нами магазин очень старый и устаревший, но это вне моего контроля банкомата).
Проблема, как я вижу, заключается в том, что код времени выполнения добавляется в каждую точку входа, которая выполняет один и тот же модуль несколько раз - мне удалось воссоздать проблему в изолированной среде, и когда я добавил один runtimeChunk в свою конфигурацию, этот извлеченный код времени выполнения в один файл и решил мою проблему - однако, когда я применил это к своему приложению - файл WAS был создан, но runtimeChunk также оставался в каждой точке входа, и проблема все еще сохраняется. Ниже приведен пример моей текущей конфигурации.
module.exports = {
entry: {
app: [
'babel-polyfill',
'whatwg-fetch',
'./src/app/app'
],
testEntry: './src/modules/testEntry.js',
},
output: {
pathinfo: true,
publicPath: '/',
chunkFilename: '[id].js'
},
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader'
},
]
},
optimization: {
splitChunks: {
cacheGroups: {
commons: {
name: 'commons',
filename: "js/[name].js",
test: /\.js(x)?$/,
chunks: "initial",
minChunks: 1
}
}
},
runtimeChunk: {
name: 'shared',
},
},
mode: 'development',
devtool: 'eval',
devServer: {
contentBase: __dirname,
port: 5000
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
})
]
};
Есть ли другой способ заставить код выполнения выполняться только один раз?
РЕДАКТИРОВАННОЕ ОБНОВЛЕНИЕ
Я сейчас обновился до версии 4.17 (не позднее), и теперь, как ни странно, - когда я использую одну опцию времени выполнения - мои входные пакеты не генерируются