| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import type { BuildOptions, ServerOptions } from 'vite'
- import path from 'node:path'
- import { fileURLToPath } from 'node:url'
- const __dirname = path.dirname(fileURLToPath(import.meta.url))
- const config: { server: ServerOptions, build: BuildOptions } = {
- build: {
- target: 'es2018',
- cssTarget: 'chrome79',
- minify: true,
- assetsInlineLimit: 4096,
- chunkSizeWarningLimit: 1000,
- outDir: 'dist',
- rollupOptions: {
- input: {
- main: path.resolve(__dirname, 'index.html'),
- },
- output: {
- manualChunks(id: string) {
- // 处理css分块
- if (id.includes('node_modules')) {
- return 'vendor'
- }
- if (id.includes('__uno.css')) {
- return 'unocss'
- }
- // 将i18n相关文件打包到单独的chunk
- if (id.includes('i18n/locales')) {
- return 'i18n'
- }
- },
- },
- external: /\.\/static.*/,
- },
- },
- server: {
- port: 7771,
- host: true,
- proxy: {
- '/api': {
- target: 'https://php.mmxiaowu.com',
- changeOrigin: true,
- rewrite: (path: string) => path.replace(/^\/api/, '/api'),
- },
- },
- /**
- * 预热常用文件
- * @see https://cn.vitejs.dev/guide/performance#warm-up-frequently-used-files
- */
- warmup: {
- clientFiles: ['./src/main.ts', './src/views/**/*.vue'],
- },
- },
- }
- export default config
|