Files
mes-ui-d2/vue.config.js
liyang 3e9adc118d flat folder
Former-commit-id: 8f00e0f6b39cbc1e2a9333e2635eed6d3ac4909e [formerly 45b4c97d64e06aa89188acc5f05b8eaaa049fcf5] [formerly 8f00e0f6b39cbc1e2a9333e2635eed6d3ac4909e [formerly 45b4c97d64e06aa89188acc5f05b8eaaa049fcf5] [formerly 8f00e0f6b39cbc1e2a9333e2635eed6d3ac4909e [formerly 45b4c97d64e06aa89188acc5f05b8eaaa049fcf5] [formerly 45b4c97d64e06aa89188acc5f05b8eaaa049fcf5 [formerly dddeab643660d9536ccca28a7b131064862a0956 [formerly a60252b4bb0f8e4357c8fb5d96baa92b34348fd2]]]]]
Former-commit-id: 95c2b6d11f3fca5c35355f6e4462fc48bd75b837
Former-commit-id: 859b43e95cd2d96a6fbccadef42b5ccf030aec0b
Former-commit-id: e095e2d838b165bae833f949655dcd0616dd36a8 [formerly 4457c0c04c4c7dc570cc2fdc8b6c1d9ab63d4e7b]
Former-commit-id: 268d04b33f65537fed5e70f86a765e9d65569458
Former-commit-id: 6895dc7270ebceb21c77c2663ab3ad912b26a02c
Former-commit-id: bb41e9fc1a708ff94371c4c2a7cc14bd6ed40049
Former-commit-id: 5170da37ca33777f225f5ce6e2387ed6d0b1741d
Former-commit-id: c617fbc5781e40482af82fa6bb8ea5105c3e5d9c
2018-12-11 08:48:38 +08:00

116 lines
3.2 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)
// 基础路径 注意发布之前要先修改这里
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()
}
}
}