| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 | import { getPluginsList } from "./build/plugins";import { include, exclude } from "./build/optimize";import { type UserConfigExport, type ConfigEnv, loadEnv } from "vite";import {  root,  alias,  warpperEnv,  pathResolve,  __APP_INFO__} from "./build/utils";export default ({ mode }: ConfigEnv): UserConfigExport => {  const { VITE_CDN, VITE_PORT, VITE_COMPRESSION, VITE_PUBLIC_PATH } =    warpperEnv(loadEnv(mode, root));  return {    base: VITE_PUBLIC_PATH,    root,    resolve: {      alias    },    // 服务端渲染    server: {      // 端口号      port: VITE_PORT,      host: "0.0.0.0",      // 本地跨域代理 https://cn.vitejs.dev/config/server-options.html#server-proxy      proxy: {},      // 预热文件以提前转换和缓存结果,降低启动期间的初始页面加载时长并防止转换瀑布      warmup: {        clientFiles: ["./index.html", "./src/{views,components}/*"]      }    },    plugins: getPluginsList(VITE_CDN, VITE_COMPRESSION),    // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options    optimizeDeps: {      include,      exclude    },    build: {      // https://cn.vitejs.dev/guide/build.html#browser-compatibility      target: "es2015",      sourcemap: false,      // 消除打包大小超过500kb警告      chunkSizeWarningLimit: 4000,      rollupOptions: {        input: {          index: pathResolve("./index.html", import.meta.url)        },        // 静态资源分类打包        output: {          chunkFileNames: "static/js/[name]-[hash].js",          entryFileNames: "static/js/[name]-[hash].js",          assetFileNames: "static/[ext]/[name]-[hash].[ext]"        }      }    },    define: {      __INTLIFY_PROD_DEVTOOLS__: false,      __APP_INFO__: JSON.stringify(__APP_INFO__)    }  };};
 |