/* * @Author: donghao donghao@supervision.ltd * @Date: 2024-02-22 13:38:05 * @LastEditors: donghao donghao@supervision.ltd * @LastEditTime: 2024-08-07 17:09:15 * @FilePath: \General-AI-Platform-Web-Client\vite.config.ts * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ import dayjs from "dayjs"; import { resolve } from "path"; import pkg from "./package.json"; import { warpperEnv } from "./build"; import { getPluginsList } from "./build/plugins"; import { include, exclude } from "./build/optimize"; import { UserConfigExport, ConfigEnv, loadEnv } from "vite"; import autoImports from "unplugin-auto-import/vite"; /** 当前执行node命令时文件夹的地址(工作目录) */ const root: string = process.cwd(); /** 路径查找 */ const pathResolve = (dir: string): string => { return resolve(__dirname, ".", dir); }; /** 设置别名 */ // const alias: Record = { // "@": pathResolve("src"), // "@build": pathResolve("build") // }; const { dependencies, devDependencies, name, version } = pkg; const __APP_INFO__ = { pkg: { dependencies, devDependencies, name, version }, lastBuildTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss") }; export default ({ command, 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: [ { find: /^@\//, replacement: resolve(__dirname, "src") + "/" }, { find: /^~/, replacement: "" }, { find: /^@build\//, replacement: pathResolve("build") } ] }, // 服务端渲染 server: { // 是否开启 https https: false, // 端口号 port: VITE_PORT, host: "0.0.0.0", // 本地跨域代理 https://cn.vitejs.dev/config/server-options.html#server-proxy proxy: { "/api/": { target: "http://192.168.10.21:8000/", changeOrigin: true, secure: false // rewrite: path => path.replace(/^\/api/, "") } } }, plugins: [ getPluginsList(command, VITE_CDN, VITE_COMPRESSION), autoImports({ imports: ["vue"], eslintrc: { enabled: true } }) ], // https://cn.vitejs.dev/config/dep-optimization-options.html#dep-optimization-options optimizeDeps: { include, exclude }, build: { sourcemap: false, // 消除打包大小超过500kb警告 chunkSizeWarningLimit: 4000, rollupOptions: { input: { index: pathResolve("index.html"), indexDataScreen: pathResolve("indexDataScreen.html") }, // 静态资源分类打包 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__) } }; };