如何使用 Webpack 链语法正确设置 optimization.splitChunks.automaticNameDelimiter 值?
How to correctly set optimization.splitChunks.automaticNameDelimiter value using Webpack chain syntax?
我想在使用 Vue CLI vue.config.js
设置时修改 splitChunks.automaticNameDelimiter Webpack 设置,但我不太了解所需的语法。
此默认分隔符是 ~
,这会导致我尝试将我的应用程序上传到的环境出现问题。我想改用 -
分隔符。
Modifying Options of a Plugin 的 Vue CLI 文档建议我应该这样做:
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
chainWebpack: config => {
config
.plugin('optimization')
.options('splitChunks', { automaticNameDelimiter: '-' })
}
}
以上是不正确的,但是从 webpack-chain docs 不明白我应该做什么而不是用链接语法修改 optimization.splitChunks.automaticNameDelimiter
?
请帮忙!非常感谢。
不会像webpack.config.js
那样进行设置,显然是无效的:
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
optimization: {
splitChunks: {
automaticNameDelimiter: '-'
}
}
}
当前使用的软件包版本 webpack
4.45.0 和 webpack-chain
6.5.1
试试这个。 more info
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
chainWebpack: config => {
config.optimization.splitChunks({
...config.optimization.get('splitChunks'),
automaticNameDelimiter: '-'
})
}
}
Webpack Chain 模块还公开了 merge(...)
链式映射上的方法,例如 config.optimization
。您可以使用它作为替代和更简洁的语法:
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
chainWebpack: (config) => {
config.optimization.merge({
splitChunks: {
automaticNameDelimiter: '-'
}
});
},
};
我想在使用 Vue CLI vue.config.js
设置时修改 splitChunks.automaticNameDelimiter Webpack 设置,但我不太了解所需的语法。
此默认分隔符是 ~
,这会导致我尝试将我的应用程序上传到的环境出现问题。我想改用 -
分隔符。
Modifying Options of a Plugin 的 Vue CLI 文档建议我应该这样做:
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
chainWebpack: config => {
config
.plugin('optimization')
.options('splitChunks', { automaticNameDelimiter: '-' })
}
}
以上是不正确的,但是从 webpack-chain docs 不明白我应该做什么而不是用链接语法修改 optimization.splitChunks.automaticNameDelimiter
?
请帮忙!非常感谢。
不会像webpack.config.js
那样进行设置,显然是无效的:
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
optimization: {
splitChunks: {
automaticNameDelimiter: '-'
}
}
}
当前使用的软件包版本 webpack
4.45.0 和 webpack-chain
6.5.1
试试这个。 more info
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
chainWebpack: config => {
config.optimization.splitChunks({
...config.optimization.get('splitChunks'),
automaticNameDelimiter: '-'
})
}
}
Webpack Chain 模块还公开了 merge(...)
链式映射上的方法,例如 config.optimization
。您可以使用它作为替代和更简洁的语法:
// vue.config.js
module.exports = {
productionSourceMap: false,
publicPath: '/app/',
chainWebpack: (config) => {
config.optimization.merge({
splitChunks: {
automaticNameDelimiter: '-'
}
});
},
};