const CompressionWebpackPlugin = require('compression-webpack-plugin');
|
|
module.exports = {
|
configureWebpack: config => {
|
if (process.env.UNI_PLATFORM === 'h5') {
|
filePath = 'static/js/'; //打包文件存放文件夹路径
|
Timestamp = '.' + new Date().getTime(); //时间戳
|
}
|
|
config.plugins.push(
|
new CompressionWebpackPlugin({
|
filename: "[path][base].gz",
|
algorithm: "gzip",
|
test: /\.js$/,
|
threshold: 10240,
|
minRatio: 0.8,
|
exclude: /node_modules/,
|
deleteOriginalAssets: false // 是否删除未压缩的源文件,谨慎设置,如果希望提供非gzip的资源,可不设置或者设置为false(比如删除打包后的gz后还可以加载到原始资源文件)
|
})
|
);
|
},
|
chainWebpack: config => {
|
//通过运行 vue inspect plugins 的值html插件别名。。
|
|
config.when(process.env.UNI_PLATFORM === 'h5', config => {
|
config.plugin('html-index').tap(args => {
|
args[0].minify = {
|
removeAttributeQuotes: false
|
}
|
return args
|
})
|
})
|
config.when(process.env.UNI_PLATFORM === 'h5'&&process.env.NODE_ENV === "production", config => {
|
config.plugin('html-index').tap(args => {
|
args[0].minify = {
|
removeAttributeQuotes: false
|
}
|
return args
|
})
|
config.output.filename("static/js/[name]-[contenthash].js");
|
config.output.chunkFilename("static/js/[id]-[chunkhash].js");
|
config.optimization.splitChunks({
|
name: false, //官方建议在生产环境时将 name 设置为 false,为了“it doesn't change names unnecessarily”
|
hidePathInfo: true,
|
})
|
|
})
|
},
|
}
|