-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvue.config.js
91 lines (86 loc) · 1.95 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
86
87
88
89
90
91
const { defineConfig } = require("@vue/cli-service");
const path = require("path");
const resolve = (dir) => {
return path.join(__dirname, dir);
};
module.exports = defineConfig({
lintOnSave: false,
transpileDependencies: true,
devServer: {
port: "8666",
proxy: {
//配置代理
},
client: {
overlay: false,
},
},
productionSourceMap: false,
// 打包app时放开该配置
publicPath: "/" ,
configureWebpack: (config) => {
config.devtool = "eval-source-map";
},
chainWebpack: (config) => {
// delete prefetch ,default on
config.plugins.delete("prefetch");
// delete preload
// config.plugins.delete('preload')
// default title
config.plugin("html").tap((args) => {
args[0].title = 'Test';
return args;
});
// svg icon config
// set svg-sprite-loader
config.module.rule("svg").exclude.add(resolve("src/icons")).end();
config.module
.rule("icons")
.test(/\.svg$/)
.include.add(resolve("src/icons"))
.end()
.use("svg-sprite-loader")
.loader("svg-sprite-loader")
.options({
symbolId: "icon-[name]",
lessOptions: {
/** less-loader 配置 */
strictMath: true,
noIeCompat: true,
},
})
.end();
},
configureWebpack: {
resolve: {
alias: {
"@": resolve("src"),
},
},
plugins: [
],
},
css: {
loaderOptions: {
// 使用等比适配插件
// postcss: {
// postcssOptions: {
// plugins: [postcss],
// },
// },
scss: {
// 全局sass变量
//sass-loader 新版本
// additionalData: `@import "~@/assets/scss/index.scss";`
},
less: {
lessOptions: {
javascriptEnabled: true,
modifyVars: {
hack: `true; @import "/src/styles/variables.less";`, // 全局less变量注入
},
},
},
},
},
});