forked from 972784674t/vue-quasar-manage
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvue.config.js
85 lines (76 loc) · 2.33 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
const timeStamp = new Date().getTime()
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? '/vue-quasar-manage/' : '/',
devServer: {
port: 8868
// proxy: {
// '/api': {
// target: '你的 API 地址',
// changeOrigin: true,
// pathRewrite: {
// '^/api': ''
// }
// }
// }
},
pluginOptions: {
quasar: {
importStrategy: 'kebab',
rtlSupport: false
}
},
transpileDependencies: [
'quasar',
'vue-echarts',
'resize-detector',
'@kangc'
],
// 项目打包文件夹
// outputDir: 'vue-quasar-manage',
// 静态资源文件夹 *注:当生成的资源覆写 filename 或 chunkFilename 时,assetsDir 会被忽略。
// assetsDir: 'static',
// 关闭 sourcemap
productionSourceMap: false,
// 打包的时候不使用 hash 值
filenameHashing: false,
// Webpack 函数式配置
configureWebpack: config => {
// 体积分析
if (process.env.use_analyzer) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
config.plugins.push(new BundleAnalyzerPlugin())
}
// 生产环境配置
if (process.env.NODE_ENV === 'production') {
// 消除 console 输出信息
config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
// Gzip 压缩
const CompressionPlugin = require('compression-webpack-plugin')
config.plugins.push(
new CompressionPlugin({
algorithm: 'gzip',
test: /\.(js|css|woff|woff2|svg)$/, // 匹配文件名
threshold: 10240, // 对超过10k的数据压缩
deleteOriginalAssets: false, // 不删除源文件
minRatio: 0.8 // 压缩比
})
)
// 将 js 文件夹添加时间戳,这样浏览器不会加载上个版本缓存的代码
config.output.filename = `js/[name].${timeStamp}.js`
config.output.chunkFilename = `js/[name].${timeStamp}.js`
} else {
// 开发环境配置
}
},
chainWebpack: config => {
// 移除 prefetch 插件
// config.plugins.delete('prefetch')
},
css: {
// 打包后css文件名称添加时间戳,浏览器不会加载上版本资源
extract: {
filename: `css/[name].${timeStamp}.css`,
chunkFilename: `css/[name].${timeStamp}.css`
}
}
}