62 lines
2.2 KiB
JavaScript
62 lines
2.2 KiB
JavaScript
const {
|
|
defineConfig
|
|
} = require('@vue/cli-service')
|
|
module.exports = defineConfig({
|
|
//设置为空打包后不分更目录还是多级目录
|
|
publicPath: process.env.NODE_ENV === 'production' ? 'https://cloud-x-php.oss-cn-beijing.aliyuncs.com/admin/' : './',
|
|
//build编译后存放静态文件的目录
|
|
assetsDir: "static",
|
|
// build编译后不生成资源MAP文件
|
|
productionSourceMap: false,
|
|
//开发服务,build后的生产模式还需nginx代理
|
|
chainWebpack: config => {
|
|
// 移除 prefetch 插件
|
|
config.plugins.delete('preload');
|
|
config.plugins.delete('prefetch');
|
|
config.resolve.alias.set('vue-i18n', 'vue-i18n/dist/vue-i18n.cjs.js');
|
|
},
|
|
configureWebpack: {
|
|
output: {
|
|
// filename: 'app.[contenthash].js',
|
|
},
|
|
//性能提示
|
|
performance: {
|
|
hints: false
|
|
},
|
|
optimization: {
|
|
splitChunks: {
|
|
chunks: "all",
|
|
automaticNameDelimiter: '~',
|
|
name: "xChunks",
|
|
cacheGroups: {
|
|
//第三方库抽离
|
|
vendor: {
|
|
name: "modules",
|
|
test: /[\\/]node_modules[\\/]/,
|
|
priority: -10
|
|
},
|
|
elicons: {
|
|
name: "elicons",
|
|
test: /[\\/]node_modules[\\/]@element-plus[\\/]icons-vue[\\/]/
|
|
},
|
|
tinymce: {
|
|
name: "tinymce",
|
|
test: /[\\/]node_modules[\\/]tinymce[\\/]/
|
|
},
|
|
echarts: {
|
|
name: "echarts",
|
|
test: /[\\/]node_modules[\\/]echarts[\\/]/
|
|
},
|
|
xgplayer: {
|
|
name: "xgplayer",
|
|
test: /[\\/]node_modules[\\/]xgplayer.*[\\/]/
|
|
},
|
|
codemirror: {
|
|
name: "codemirror",
|
|
test: /[\\/]node_modules[\\/]codemirror[\\/]/
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}) |