37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
import { defineConfig } from 'vite'
|
|
import { fileURLToPath, URL } from 'node:url'
|
|
import uni from '@dcloudio/vite-plugin-uni'
|
|
|
|
export default defineConfig({
|
|
plugins: [uni()],
|
|
resolve: {
|
|
alias: {
|
|
'@': fileURLToPath(new URL('./', import.meta.url))
|
|
}
|
|
},
|
|
build: {
|
|
// 生产环境构建配置
|
|
rollupOptions: {
|
|
output: {
|
|
// 手动拆包策略:将第三方库拆分成独立文件,减少首屏主包体积
|
|
manualChunks(id) {
|
|
if (id.includes('node_modules')) {
|
|
// 将 vue 相关依赖拆分到 vendor-vue
|
|
if (id.includes('vue')) {
|
|
return 'vendor-vue'
|
|
}
|
|
// 将 dcloudio (uni-app) 相关依赖拆分
|
|
if (id.includes('@dcloudio')) {
|
|
return 'vendor-uni'
|
|
}
|
|
// 其他 node_modules 依赖放入 vendor
|
|
return 'vendor'
|
|
}
|
|
}
|
|
}
|
|
},
|
|
// 提高警告门槛,由默认 500kb 提至 1000kb
|
|
chunkSizeWarningLimit: 1000
|
|
}
|
|
})
|