import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import fs from 'fs' import { createServer as createLangServer } from './scripts/lang.js' import { resolve } from 'path' const outDir = resolve(process.env.PWD, process.argv[process.argv.length - 1]) // https://vitejs.dev/config/ export default async ({ mode }) => { const langProt = 9091 const input: { [key in string]: string } = {} if (process.argv.includes('lang')) { await createLangServer(langProt) input.lang = resolve(__dirname, 'lang.html') } else { input.main = resolve(__dirname, 'index.html') } const proxy = { '/dev': { target: `http://localhost:${langProt}`, changeOrigin: true, rewrite: path => path.replace(/^\/dev/, '/dev') }, '/api': { target: 'http://192.168.0.152:8088/', changeOrigin: true, rewrite: path => path.replace(/^\/api/, '') } } console.log(input) return defineConfig({ build: { rollupOptions: { input }, outDir: fs.existsSync(outDir) ? outDir : './dist' }, plugins: [vue()], base: './', assetsInclude: ['public/**/*'], resolve: { extensions: ['.js', '.ts', '.json', '.vue'], alias: [ { find: '@', replacement: resolve(__dirname, './src') }, { find: 'bill', replacement: resolve(__dirname, './src/components/bill-ui') } ] }, server: { host: '0.0.0.0', port: 5173, open: true, proxy: proxy } }) }