Files
mes-ui-d2/vue.config.js
liyang 48b6df0e94 去除无用的额外声明 @
Former-commit-id: af100eec2cf014df3dd02dc13bc9f326e924bb50 [formerly bd91d6a3f4e2fee80a6d2479326d8fde71b57d7f] [formerly af100eec2cf014df3dd02dc13bc9f326e924bb50 [formerly bd91d6a3f4e2fee80a6d2479326d8fde71b57d7f] [formerly af100eec2cf014df3dd02dc13bc9f326e924bb50 [formerly bd91d6a3f4e2fee80a6d2479326d8fde71b57d7f] [formerly bd91d6a3f4e2fee80a6d2479326d8fde71b57d7f [formerly 79db39d4983b2bb5c19ab34ae97eeb587c49920e [formerly d74312dcfae0b52d11f1e41e19f551ac46385b25]]]]]
Former-commit-id: 562cb6743b977a37f0895ee85f88b37189bf0d28
Former-commit-id: c27a7b728ca78b56b2db8aca1f4d0097f9b317f0
Former-commit-id: c4e0f98345fd1b625e52f5983c9d44e5c5280a23 [formerly b7a5a227d6f0c3815f094429c71d4a19afedcd58]
Former-commit-id: 13c0584de25d82bd2c4ebd1d89fb1519bfe783bd
Former-commit-id: 9591c7bf2cacb84cefa53327a44fa2cba4397f73
Former-commit-id: 128d5357be36fed1f6b7f2510aa5d221076cf8d8
Former-commit-id: cf9f9230b10b45807accf5cb9b051300ab6c3ad0
Former-commit-id: ba83aa63a959940ce3b7f4c4fafe93ddbd4ef16a
2019-01-17 10:46:08 +08:00

119 lines
3.3 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('@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()
}
}
}