作者:上帝的爱神_413_645 | 来源:互联网 | 2023-09-23 17:47
一,打包生成不同的文件名
为了避免浏览器缓存被命中,可以让打包出来的文件名不一样:
output: {path: path.resolve(__dirname, "dist"), filename: "[name]_[contenthash]_bundle.js", clean: true, assetModuleFilename: "images/[contenthash][ext]" },
二,第三方依赖统一放置到文件名不变的chunk中
具体配置:
output: {path: path.resolve(__dirname, "dist"), filename: "[name]_bundle.js", clean: true, assetModuleFilename: "images/[contenthash][ext]" },。。。optimization: {minimizer: [new CssMinimizerPlugin()],splitChunks: {cacheGroups: {vendor: {test: /[\\/]node_modules[\\/]/,name: "vendors",chunks: "all"}}}}
三,配置打包后的文件路径
当我们想分门别类地放置打包出来地文件,比如js放在script文件夹下,css放置在style下,图片放置在image下时,可以这样配置:
output: {path: path.resolve(__dirname, "dist"), filename: "script/[name]_bundle.js", clean: true, assetModuleFilename: "images/[contenthash][ext]"
},
...
plugins: [new HtmlWebpackPlugin({template: "./index.html", filename: "index.html", inject: "body" }),new MiniCssExtractPlugin({filename: "styles/[contenthash].css" })],
这样打包出来就是这个样子: