Files
mes-ui-d2/vue.config.js
liyang e563d9317a 增加环境信息
Former-commit-id: 4dae4bb78d76f7f938f96cb7e8d70ae3e0f3ff9a [formerly 4dae4bb78d76f7f938f96cb7e8d70ae3e0f3ff9a [formerly 4dae4bb78d76f7f938f96cb7e8d70ae3e0f3ff9a [formerly 4dae4bb78d76f7f938f96cb7e8d70ae3e0f3ff9a [formerly 5e20e47a6957a82b94b57af913a9a45a58fa5281 [formerly 7b63f06f2da85d10f4df205ef81a25e2fa8a7933]]]]]
Former-commit-id: c9fce450c6afe4885d7105af2145fd597e2b7142
Former-commit-id: 837a71bd1de9152b2f22c7d2b310e6ab690cf563
Former-commit-id: e801081f67155ea604b9fbcfa8fb5f935d44189c [formerly d46bd2dfc6214d15783c2c9d1cf31e2ba8326ea7]
Former-commit-id: 43308d8ac292147918a94fcc23c20f992cf3f4f6
Former-commit-id: 5c2e21a21d6dbc1628f0aedd2366f6a96184c428
Former-commit-id: 8ac1d58beb3d54e8674e900cf0c9b15110eb8ed5
Former-commit-id: 9fee2dfe7f53f06b403f7a6a9a9d6585517d9518
Former-commit-id: d1971ac9f64902e97f4173008c87882e5a026496
2018-12-14 11:16:10 +08:00

120 lines
3.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
// 拼接路径
const resolve = dir => require('path').join(__dirname, dir)
// 增加环境变量
process.env.VUE_APP_VERSION = require('./package.json').version
process.env.VUE_APP_BUILD_TIME = require('dayjs')().format('YYYY-M-D HH:mm:ss')
// 基础路径 注意发布之前要先修改这里
let baseUrl = '/'
module.exports = {
baseUrl: baseUrl, // 根据你的实际情况更改这里
lintOnSave: true,
devServer: {
publicPath: baseUrl // 和 baseUrl 保持一致
},
css: {
loaderOptions: {
// 设置 scss 公用变量文件
sass: {
data: `@import '~@/assets/style/public.scss';`
}
}
},
// 默认设置: https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-service/lib/config/base.js
chainWebpack: config => {
/**
* 删除懒加载模块的 prefetch preload降低带宽压力
* https://cli.vuejs.org/zh/guide/html-and-static-assets.html#prefetch
* https://cli.vuejs.org/zh/guide/html-and-static-assets.html#preload
* 而且预渲染时生成的 prefetch 标签是 modern 版本的,低版本浏览器是不需要的
*/
config.plugins
.delete('prefetch')
.delete('preload')
// 解决 cli3 热更新失效 https://github.com/vuejs/vue-cli/issues/1559
config.resolve
.symlinks(true)
config
// 开发环境
.when(process.env.NODE_ENV === 'development',
// sourcemap不包含列信息
config => config.devtool('cheap-source-map')
)
// 非开发环境
.when(process.env.NODE_ENV !== 'development', config => {
config.optimization
.minimizer([
new UglifyJsPlugin({
uglifyOptions: {
// 移除 console
// 其它优化选项 https://segmentfault.com/a/1190000010874406
compress: {
warnings: false,
drop_console: true,
drop_debugger: true,
pure_funcs: ['console.log']
}
}
})
])
})
// markdown
config.module
.rule('md')
.test(/\.md$/)
.use('text-loader')
.loader('text-loader')
.end()
// i18n
config.module
.rule('i18n')
.resourceQuery(/blockType=i18n/)
.use('i18n')
.loader('@kazupon/vue-i18n-loader')
.end()
// svg
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.include
.add(resolve('src/assets/svg-icons/icons'))
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'd2-[name]'
})
.end()
// image exclude
const imagesRule = config.module.rule('images')
imagesRule
.test(/\.(png|jpe?g|gif|webp|svg)(\?.*)?$/)
.exclude
.add(resolve('src/assets/svg-icons/icons'))
.end()
// 重新设置 alias
config.resolve.alias
.set('@', resolve('src'))
.set('@api', resolve('src/api'))
// node
config.node
.set('__dirname', true)
.set('__filename', true)
// babel-polyfill 加入 entry
const entry = config.entry('app')
entry
.add('babel-polyfill')
.end()
// 判断环境加入模拟数据
if (process.env.VUE_APP_BUILD_MODE !== 'nomock') {
entry
.add('@/mock')
.end()
}
}
}