2024-08-23 16:01:52 +08:00
|
|
|
const { merge } = require('webpack-merge')
|
|
|
|
const baseConfig = require('./webpack.base.js')
|
|
|
|
|
|
|
|
module.exports = merge(baseConfig, {
|
|
|
|
mode: 'production', // 生产模式,会开启 tree-shaking 和 压缩代码,以及其他优化
|
2024-09-03 11:06:13 +08:00
|
|
|
output: {
|
|
|
|
publicPath: './',
|
|
|
|
},
|
2024-08-23 16:01:52 +08:00
|
|
|
optimization: {
|
|
|
|
splitChunks: { // 分隔代码
|
|
|
|
cacheGroups: {
|
|
|
|
vendors: { // 提取node_modules 代码
|
|
|
|
test: /node_modules/, // 只匹配 node_modules 里面的模块
|
|
|
|
name: 'vendors', // 提取文件命名为 vendors.js 后缀和 chunkhash 会自动加
|
|
|
|
minChunks: 1, // 只要使用一次就提取出来
|
|
|
|
chunks: 'initial', // 只提取初始化就能获取到的模块,不管异步的
|
|
|
|
minSize: 0, // 提取代码体积大于0就提取出来
|
|
|
|
priority: 1, // 提取优先级为1
|
|
|
|
},
|
|
|
|
commons: { // 提取页面公共代码
|
|
|
|
name: 'commons', // 提取文件命名为 commons
|
|
|
|
minChunks: 2, // 只要使用两次就提取出来
|
|
|
|
chunks: 'initial', // 只提取初始化就能获取到的模块,不管异步的
|
|
|
|
minSize: 0, // 提取代码体积大于0就提取出来
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|