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,
|
|
},
|
|
});
|