-
Notifications
You must be signed in to change notification settings - Fork 28
/
vue.config.js
42 lines (40 loc) · 1.41 KB
/
vue.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const CompressionPlugin = require('compression-webpack-plugin')
const path = require('path')
const isProd = process.env.NODE_ENV === 'production'
const resolve = (dir) => {
return path.join(__dirname, dir)
}
module.exports = {
publicPath: isProd ? '/dgiot-konva-editior/' : './',
// eslint-disable-next-line consistent-return
outputDir: 'dist', // 输出文件目录
assetsDir: 'static', // 放置生成的静态文件目录(js css img)
productionSourceMap: false, // 生产环境是否生成 sourceMap 文件
configureWebpack: {
resolve: {
alias: {
'@': resolve('src'),
'*': resolve(''),
},
},
},
configureWebpack: (config) => {
config.mode = 'production'
config.performance = {
// 打包文件大小配置
maxEntrypointSize: 10000000,
maxAssetSize: 30000000,
}
if (isProd) {
return {
plugins: [
new CompressionPlugin({
test: /\.js$|\.html$|\.css$|\.jpg$|\.jpeg$|\.png/, // 需要压缩的文件类型
threshold: 10240, // 归档需要进行压缩的文件大小最小值,这个对 10K 以上的进行压缩
deleteOriginalAssets: false, // 是否删除原文件
}),
],
}
}
},
}