-
Notifications
You must be signed in to change notification settings - Fork 6
/
vue.config.js
67 lines (62 loc) · 1.73 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
const path = require('path');
function resolve(dir) {
return path.join(__dirname, '.', dir);
}
function dateFormat(date, format) {
var dateTime = new Date(date);
var o = {
'M+': dateTime.getMonth() + 1, //month
'd+': dateTime.getDate(), //day
'h+': dateTime.getHours(), //hour
'm+': dateTime.getMinutes(), //minute
's+': dateTime.getSeconds(), //second
'q+': Math.floor((dateTime.getMonth() + 3) / 3), //quarter
S: dateTime.getMilliseconds() //millisecond
};
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (dateTime.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
}
}
return format;
}
const proxy = {
target: 'http://',
changeOrigin: true
};
if (process.env.NODE_ENV !== 'production') {
let processArgv = process.argv;
let _url = processArgv[processArgv.length - 1].match(/url=(.*)/);
if (_url && _url.length >= 2) {
proxy.target = `${_url[1]}`;
}
}
module.exports = {
pages: {
index: {
entry: 'src/main.js',
template: 'public/index.html',
filename: 'index.html',
title: 'vue admin',
chunks: ['chunk-vendors', 'chunk-common', 'index']
}
},
configureWebpack: {},
chainWebpack: config => {
const date = dateFormat(new Date().getTime(), 'yyyyMMddhhmm');
config.output.filename(`js_${date}/[name].[hash:8].js`).chunkFilename(`js_${date}/[name].[hash:8].js`);
},
productionSourceMap: false,
lintOnSave: false,
productionSourceMap: false,
baseUrl: './',
outputDir: 'docs',
devServer: {
proxy: {
'/sys': proxy
}
}
};