-
Notifications
You must be signed in to change notification settings - Fork 51
/
Copy pathvue.config.js
105 lines (105 loc) · 3.4 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
const path = require('path')
const port = 2222
const isProduction = process.env.NODE_ENV === 'production'
function resolve(dir) {
return path.join(__dirname, dir)
}
module.exports = {
// transpileDependencies: ['element-ui'], // 解决IE浏览器本地启动白屏现象
// outputDir: process.env.outputDir || 'dist', // 输出文件名称
// publicPath: './', // 部署应用包时的基本 URL
productionSourceMap: !isProduction, // 解决vue项目打包后浏览器F12查看到项目源代码false不能看到
// productionSourceMap: true, // 测试调试打断点
// lintOnSave: false,// 去掉eslint校验
devServer: {
port: port, // 设置端口号
// open: true, // 启动项目自动打开浏览器
proxy: { // 解决跨域问题
'/api': {
target: 'http://localhost:2222/', // 本地json数据
changeOrigin: true,
ws: false,
pathRewrite: {
'/api': '/mock' // 本地
}
}
}
},
// 修改 src 目录 为 examples 目录
pages: {
index: {
entry: 'examples/main.js',
template: 'public/index.html',
filename: 'index.html'
}
},
// output: {
// filename: 'index.js',
// path: path.resolve(__dirname, './lib'),
// library: '@wocwin/t-ui', // 指定类库名,主要用于直接引用的方式
// libraryTarget: 'umd' // 定义打包方式Universal Module Definition,同时支持在CommonJS、AMD和全局变量使用
// },
// 强制内联CSS
css: {
extract: false
},
configureWebpack: config => {
config.resolve.alias['@'] = resolve('examples')
config.resolve.alias['components'] = resolve('examples/components')
config.resolve.alias['~'] = resolve('packages')
// 生产环境配置
if (isProduction) {
config.mode = 'production'
// 打包文件大小配置
config.performance = {
maxEntrypointSize: 10000000,
maxAssetSize: 30000000
}
}
},
// 底层是webpack-chain packages
chainWebpack: config => {
// 配置兼容IE浏览器
// config.entry.app = ['babel-polyfill', './src/main.js']
// 配置别名
// vue默认@指向src目录,这里要修正为examples,另外新增一个~指向packages
// config.resolve.alias
// .set('@', path.resolve('examples'))
// .set('~', path.resolve('packages'))
// lib目录是组件库最终打包好存放的地方,不需要eslint检查
// examples/docs是存放md文档的地方,也不需要eslint检查
// config.module
// .rule('eslint')
// .exclude.add(path.resolve('lib'))
// .end()
// packages和examples目录需要加入编译
// config.module
// .rule('eslint')
// .exclude.add(path.resolve('lib'))
// .end()
// .rule('js')
// .include.add('/packages/')
// .end()
// // .include.add('/examples/')
// // .end()
// .use('babel')
// .loader('babel-loader')
// .tap(options => {
// // 修改它的选项...
// return options
// })
// 生产环境配置
// if (isProduction) {
// // 删除预加载
// config.plugins.delete('preload')
// config.plugins.delete('prefetch')
// // 压缩代码
// config.optimization.minimize(true)
// // 分割代码
// config.optimization.splitChunks({
// chunks: 'all'
// // maxSize: 100000 // 大于100kb做二次分割
// })
// }
}
}