Node.js webpack 4优化开发和产品构建之间的不同块命名
我正在尝试使用Webpack4中的优化创建单个供应商区块文件。即使在阅读了文档之后,我也对命名的工作原理感到有点困惑Node.js webpack 4优化开发和产品构建之间的不同块命名,node.js,npm,webpack,Node.js,Npm,Webpack,我正在尝试使用Webpack4中的优化创建单个供应商区块文件。即使在阅读了文档之后,我也对命名的工作原理感到有点困惑 ... output: { path: path.resolve(__dirname, 'dist'), filename: "RootSite/SiteAssets/js/[Name]_bundle.js", libraryTarget: "var", library: ["spdict", "[name]"], }, ... optimizat
...
output: {
path: path.resolve(__dirname, 'dist'),
filename: "RootSite/SiteAssets/js/[Name]_bundle.js",
libraryTarget: "var",
library: ["spdict", "[name]"],
},
...
optimization: {
splitChunks: {
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name: "vendor",
chunks: "all"
}
}
}
},
当我运行webpack--modedevelopment
时,它会生成以下文件:
- vendor.vendor\u bundle.js
- vendor.vendor\u bundle.js.map
webpack--modeproduction
时,它会生成以下内容:
- 0.vendor_bundle.js
- 0.vendor_bundle.js.map
为什么这两种模式在命名上有差异
另外,为什么是vendor.vendor\u bundle.js而不是vendor\u bundle.js?
[Name]
不是一个可识别的网页模式,这将导致意外行为。尝试:
...
output: {
path: path.resolve(__dirname, 'dist'),
filename: "RootSite/SiteAssets/js/[name]_bundle.js",
libraryTarget: "var",
library: ["spdict", "[name]"],
},
第二个,你指的是生产?另外,在这里修复:
文件名:“RootSite/SiteAssets/js/[name]\u bundle.js”
,结果还是一样的吗?@Matheus Silva,是的,对不起,那必须是生产。另外,将文件名从[name]修复为[name]解决了问题,请随意添加它作为答案:)