-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvue.config.js
84 lines (81 loc) · 2.42 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
const path = require('path')
const packageJSON = require('./package.json')
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
.BundleAnalyzerPlugin
var ProgressBarPlugin = require('progress-bar-webpack-plugin')
function resolve(dir) {
return path.join(__dirname, dir)
}
var startElectron = require('./electron/bin/startElectron')
const port = packageJSON.development.port
module.exports = {
lintOnSave: false,
publicPath: './',
assetsDir: './',
outputDir: 'webroot',
productionSourceMap: process.env.NODE_ENV !== 'production',
runtimeCompiler: true,
devServer: {
port,
// disableHostCheck: true,
after(app, server, compiler) {
startElectron(compiler)
}
// 配置代理
// proxy: {
// '/api': {
// target,
// ws: true,
// changeOrigin: true,
// pathRewrite: {
// '^/api': '/'
// }
// }
// }
},
css: {
loaderOptions: {
// pass options to sass-loader
scss: {
implementation: require('dart-sass')
// prependData: `@import "~src/styles/var.scss";`
}
}
},
chainWebpack: config => {
config.resolve.alias // alias
.set('app', resolve('electron'))
.set('src', resolve('src'))
.set('assets', resolve('src/assets'))
.set('components', resolve('src/components'))
.set('views', resolve('src/views'))
.set('styles', resolve('src/styles'))
.set('api', resolve('src/api'))
.set('utils', resolve('src/utils'))
.set('store', resolve('src/store'))
.set('router', resolve('src/router'))
.set('static', resolve('public/static'))
.end()
.end() // 回退
.stats({ timings: true }) // stats
.plugin('progress-bar-webpack-plugin') // progress-bar-webpack-plugin
.use(ProgressBarPlugin)
.end()
.plugins.delete('preload') // delete preload
.delete('prefetch') // delete prefetch
// 开发模式
// if (process.env.NODE_ENV !== 'production') {
// }
if (process.env.npm_config_anylize) {
// 如果需要进行模块分析,使用--anylize
config.plugin('webpack-bundle-analyzer').use(BundleAnalyzerPlugin)
}
},
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
// mutate config for production...
config.plugins = config.plugins.concat([new HardSourceWebpackPlugin()])
}
}
}