Files
vue-ts-example/vite.config.ts
严浩 47e2c5d813
All checks were successful
/ depcheck (push) Successful in 1m34s
/ playwright (push) Successful in 1m54s
/ build-and-deploy-to-vercel (push) Successful in 1m36s
feat: 更新 Vite 配置,添加手动分块注释以优化构建输出
2025-01-02 23:09:12 +08:00

56 lines
1.9 KiB
TypeScript

import { fileURLToPath, URL } from 'node:url';
// import { createSplitChunkOutput } from 'utils4u/rollup';
import { createViteProxy } from 'utils4u/vite';
import { defineConfig, loadEnv } from 'vite';
import { Plugins } from './vite.config.plugins';
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
const isBuild = command === 'build';
const env = loadEnv(mode, process.cwd());
return {
base: env.VITE_BASE,
plugins: Plugins(),
define: {
$__DEV__: JSON.stringify(!isBuild),
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
server: {
proxy: createViteProxy(),
},
build: {
sourcemap: mode !== 'production' || env.VITE_SOURCE_MAP === 'true',
rollupOptions: {
onwarn: (warning, warn) => {
if (warning.code === 'EMPTY_BUNDLE') return;
if (warning.code === 'EVAL' && warning.id?.includes('node_modules/eruda')) return;
if (warning.code === 'EVAL' && warning.id?.includes('node_modules/mockjs')) return;
warn(warning);
},
// https://cn.rollupjs.org/configuration-options/#output-assetfilenames
// output: env.VITE_SPLIT_CHUNKS === 'true' ? (await import('utils4u/rollup')).createSplitChunkOutput() : undefined,
output: {
minifyInternalExports: false,
// manualChunks: {
// 'vendor/utils4u': ['utils4u', 'utils4u/vue-use', 'utils4u/primevue'],
// 'vendor/vue': ['vue'],
// 'vendor/primevue': ['primevue'],
// 'vendor/faker-js': ['@faker-js/faker'],
// 'vendor/mockjs': ['mockjs'],
// 'vendor/axios': ['axios', 'alova', '@alova/adapter-axios'],
// // 'vendor/nprogress': ['nprogress'],
// // 'vendor/formkit': ['@formkit/auto-animate'],
// },
},
},
},
};
});