-
Notifications
You must be signed in to change notification settings - Fork 2
/
vue.config.js
66 lines (66 loc) · 2.14 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* 配置参考:
* https://cli.vuejs.org/zh/config/
*/
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']
module.exports = {
// 保存时是否保存 eslint 检查
lintOnSave: false,
productionSourceMap: false,
chainWebpack: config => {
const entry = config.entry('app')
entry
.add('babel-polyfill')
.end()
entry
.add('classlist-polyfill')
.end()
},
css: {
// 忽略 CSS order 顺序警告
extract: {ignoreOrder: true}
},
configureWebpack: (config) => {
if (process.env.NODE_ENV === 'production') {
// 仅在生产环境下启用该配置
return {
performance: {
// 打包后最大文件大小限制
maxAssetSize: 1024000
},
plugins: [
new CompressionWebpackPlugin({
filename: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
threshold: 1024, // 只有大小大于该值的资源会被处理,当前配置为对于超过1k的数据进行处理,不足1k的可能会越压缩越大
minRatio: 0.99, // 只有压缩率小于这个值的资源才会被处理
deleteOriginalAssets: true // 删除原文件
})
]
}
}
},
// 配置转发代理
devServer: {
disableHostCheck: true,
port: 8080,
proxy: {
'/func': {
target: 'https://cflg6f.laf.dev',
ws: false, // 需要websocket 开启
pathRewrite: {
'^/func': '/'
},
},
'/oss': {
target: 'https://cflg6f-nest.oss.laf.dev',
ws: false, // 需要websocket 开启
pathRewrite: {
'^/oss': '/'
},
}
}
}
}