backend-mini-brand/vue.config.js
2025-07-19 20:00:08 +08:00

54 lines
1.5 KiB
JavaScript

const path = require('path')
module.exports = {
// uni-app 组件按需引入优化
transpileDependencies: ['uni-ui'],
configureWebpack: {
// 小程序性能优化
resolve: {
alias: {
'@': path.resolve(__dirname, './'),
'@components': path.resolve(__dirname, 'components'),
'@pages': path.resolve(__dirname, 'pages'),
'@subpages': path.resolve(__dirname, 'subpages'),
'@static': path.resolve(__dirname, 'static'),
'@utils': path.resolve(__dirname, 'utils'),
'@api': path.resolve(__dirname, 'api'),
'@store': path.resolve(__dirname, 'store')
}
}
},
// 针对不同平台的优化
chainWebpack: config => {
// 小程序性能优化
if (process.env.UNI_PLATFORM === 'mp-weixin') {
// 生产环境移除 console
if (process.env.NODE_ENV === 'production') {
config.optimization.minimizer('terser').tap(args => {
const compress = args[0].terserOptions.compress || {}
compress.drop_console = true
compress.drop_debugger = true
compress.pure_funcs = ['console.log', 'console.info', 'console.debug']
args[0].terserOptions.compress = compress
return args
})
}
}
},
// CSS 优化
css: {
extract: process.env.NODE_ENV === 'production',
sourceMap: false,
loaderOptions: {
scss: {
// 全局引入 scss 变量
prependData: `
@import "static/scss/global.scss";
`
}
}
}
}