Files
mes-ui-d2/vue.config.js
liyang 005d248dd6 调整
Former-commit-id: 37608fe7e3f1f13228f49e43acd308ca70e018af [formerly 37608fe7e3f1f13228f49e43acd308ca70e018af [formerly 37608fe7e3f1f13228f49e43acd308ca70e018af [formerly 37608fe7e3f1f13228f49e43acd308ca70e018af [formerly 8d2456f102e81311c88bd89e394862901c445f91 [formerly 6a3437ca1e6594caeed818c0b4665c4e668150ff]]]]]
Former-commit-id: 0b8228b1604c77a4aae173f0ad368842de1cb378
Former-commit-id: 6928d67f87d054c07eb51dccac226419bc36ed68
Former-commit-id: fd8a0be47d7a7d9bb1d0cdef4dc0d24542c5e059 [formerly 111b39532b91144f4b0780123cfd80771841d873]
Former-commit-id: c48ef56806c4c1aa3c6e7842f08096cada9d8db2
Former-commit-id: 06688d30e09a8cc7910f7d349a47b7a571f3d5d6
Former-commit-id: f7031baba83463b2a3e4bc397e352ffc35f4fe0e
Former-commit-id: 99597c4aae58bbd1a00598572316e405c2c0fcb6
Former-commit-id: 55f5407f9946ec65c168f6c2ef1405ff6676a1e6
2019-05-22 00:19:48 +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 VueFilenameInjector = require('./tools/vue-filename-injector')
// 拼接路径
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 publicPath = '/'
module.exports = {
// 根据你的实际情况更改这里
publicPath,
lintOnSave: true,
devServer: {
publicPath // 和 publicPath 保持一致
},
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')
)
// TRAVIS 构建 vue-loader 添加 filename
.when(process.env.VUE_APP_SCOURCE_LINK === 'TRUE',
VueFilenameInjector(config, {
propName: process.env.VUE_APP_SOURCE_VIEWER_PROP_NAME
})
)
// 非开发环境
.when(process.env.NODE_ENV !== 'development', config => {
config.optimization
.minimizer([
new UglifyJsPlugin({
uglifyOptions: {
// 移除 console
// 其它优化选项 https://segmentfault.com/a/1190000010874406
compress: {
drop_console: true,
drop_debugger: true,
pure_funcs: ['console.log']
}
}
})
])
})
// markdown
config.module
.rule('md')
.test(/\.md$/)
.use('text-loader')
.loader('text-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('@api', resolve('src/api'))
// 判断环境加入模拟数据
const entry = config.entry('app')
if (process.env.VUE_APP_BUILD_MODE !== 'NOMOCK') {
entry
.add('@/mock')
.end()
}
},
// i18n
pluginOptions: {
i18n: {
locale: 'en',
fallbackLocale: 'zh',
localeDir: 'locales',
enableInSFC: true
}
}
}