import { fileURLToPath, URL } from 'node:url'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; import Components from 'unplugin-vue-components/vite'; import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; import qiankun from 'vite-plugin-qiankun' import yargsParser from 'yargs-parser' const argv = yargsParser(process.argv.slice(2)) console.log(process.env.DEV_ENV) let base: string switch (argv.mode) { case 'staging': case 'test': base = 'https://custom-chart.shiyue.com/' break case 'production': base = 'https://custom-chart.shiyuegame.com/' break default: base = 'http://localhost:8080/' } if (process.env.DEV_ENV === 'development') { base = 'http://localhost:8080/' } // https://vitejs.dev/config/ export default defineConfig({ build: { sourcemap: false, rollupOptions: { output: { assetFileNames: '[name]-ycode-[hash:8].[ext]', chunkFileNames: '[name]-ycode-[hash:8].js', entryFileNames: '[name]-ycode-[hash:8].js', }, }, }, css: { devSourcemap: true, preprocessorOptions: { less: { modifyVars: { 'ant-prefix': 'ycode-ant', }, }, }, }, plugins: [ vue(), vueJsx(), Components({ resolvers: [AntDesignVueResolver({ importStyle: 'less', })], }), qiankun('y-code-app', { useDevMode: process.env.DEV_ENV === 'development' }), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, base, define: { _BASE_HOST_: `'${base}'`, }, server: { hmr: true, host: '0.0.0.0', port: 8080, }, });