我目前正在使用 Webpack 4。我最初想使用pages@vue/cli 4.4.6
以多页模式构建应用程序。但是,当我查看构建文件时,我注意到在给定入口点的公共块中包含文件,即使它们没有在该入口点中使用,我在 Webpack Github 存储库中发现了这个相关问题。看起来这是 Webpack 4 中的一个错误。看起来有一种解决方法,可以使用数组配置v. 单个配置:entry
单一配置失败 DCE
module.exports = {
entry: {
app1: "./app1.js",
app2: "./app2.js"
}
}
阵列配置适用于 DCE
module.exports = ["app1", "app2"].map((name) => ({
entry: {
[name]: `./${name}.js`
}
}));
但是,当使用pages
in时vue.config.js
,生成的 Webpack 配置会产生单一的配置格式。我也尝试使用chainWebpack
,并通过添加每个条目config.entry(name).add(entry)
,但这似乎产生了相同的结果。我尝试做一些更接近示例的事情:
module.exports = ['home', 'otherpage'].map((name) => ({
entry: {
[name]: pages[name].entry
}
}))
但是,类型似乎不匹配。我认为 Vue 期望module.exports
成为一个对象而不是一个数组。
因此,我想知道是否有办法以这种方式设置配置,或者是否有任何其他选项我必须让 tree-shaking 与多页设置一起工作。