-
Notifications
You must be signed in to change notification settings - Fork 0
/
vue.config.js
63 lines (59 loc) · 1.52 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
/*
* @Author: Leo
* @Date: 2019-04-10 17:03:14
* @Last Modified by: Leo
* @Last Modified time: 2019-04-16 17:26:19
*/
const path = require('path')
function resolve(dir) {
return path.join(__dirname, dir)
}
module.exports = {
devServer:{
open:true,
},
css: {
loaderOptions: {
stylus: {
'resolve url': true,
'import': []
},
sass:{
data: `@import "@/style/mixin.scss";@import "@/style/common.scss";`
}
}
},
pluginOptions: {
'cube-ui': {
postCompile: true,
theme: false
}
},
chainWebpack(config){
config.resolve.alias
.set('@c', resolve('src/components'))
.set('@common', resolve('src/common'))
config.module.rules.delete("svg"); //重点:删除默认配置中处理svg,
//const svgRule = config.module.rule('svg')
//svgRule.uses.clear()
config.module
.rule('svg-sprite-loader')
.test(/.svg$/)
.include
.add(resolve('src/assets/icons/svg')) //处理svg目录
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
const fileRule = config.module.rule('file')
fileRule.uses.clear()
fileRule
.test(/\.svg$/)
.exclude.add(path.resolve(__dirname, 'src/assets/icons/svg'))
.end()
.use('file-loader')
.loader('file-loader')
}
}