1 Star 4 Fork 1

ghkeeping/vue2-element-admin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vue.config.js 2.16 KB
一键复制 编辑 原始数据 按行查看 历史
ghkeeping 提交于 2021-10-01 00:14 . feat:
const path = require('path')
// 导入terser-webpack-plugin-->减少js体积(其中删除js的console.log和注释)
const TerserWebpackPlugin = require('terser-webpack-plugin')
// 分析
// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
// 实例化BundleAnalyzerPplugin对象
// const analyzerPlugin = new BundleAnalyzerPlugin()
const resolvePath = (dir) => path.join(__dirname, dir)
const isPro = ['production', 'prod'].includes(process.env.VUE_APP_MODE)
// 实例化TerserWebpackPlugin对象
const terserPlugin = new TerserWebpackPlugin({
parallel: 4,
extractComments: true,
terserOptions: {
compress: {
warnings: false,
drop_console: true,
drop_debugger: true,
pure_funcs: ['console.log'] // 移除console
}
}
})
module.exports = {
publicPath: process.env.BASE_URL,
outputDir: 'dist-' + process.env.outputDir,
assetsDir: 'static',
productionSourceMap: false, // 是否开启map映射源文件
chainWebpack: (config) => {
// 移除preload插件
config.plugins.delete('preload')
// 移除 prefetch 插件
config.plugins.delete('prefetch')
config.resolve.alias.set('@', resolvePath('src'))
config.optimization.splitChunks({
chunks: 'all',
cacheGroups: {
elementUI: {
name: 'chunk-elementUI', // 将element-ui单独打包成一个文件
priority: 20,
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
},
commons: {
name: 'chunk-commons',
test: resolvePath('src/components'),
minChunks: 3,
priority: 5,
reuseExistingChunk: true
}
}
})
// if (isPro) {
// config.plugin('webpack-report').use(BundleAnalyzerPlugin, [
// {
// analyzerMode: 'static'
// }
// ])
// }
},
configureWebpack: (config) => {
if (isPro) {
config.plugins.push(terserPlugin)
}
},
devServer: {
port: 40605,
open: true,
proxy: {
'/api': {
target: process.env.VUE_APP_URL,
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/ghkeeping/vue2-element-admin.git
git@gitee.com:ghkeeping/vue2-element-admin.git
ghkeeping
vue2-element-admin
vue2-element-admin
master

搜索帮助