import { defineConfig } from 'vite' import packageJson from './package.json'; import copy from 'rollup-plugin-copy'; // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { return { plugins: [ copy({ targets: [ { src: 'dist-types/src/*', dest: `dist/src` } ], hook: 'writeBundle', }), ], resolve: { alias: {} }, build: { lib: mode === 'production' ? { // 入口文件 entry: 'src/index.ts', // 打包后的名称(不包含文件扩展名) name: packageJson.name, // 导出的文件名格式(可以是 'es' | 'cjs' | 'umd' | 'iife') formats: ['umd', 'es'], // 支持 ES 模块和 UMD 模块 // 全局变量名(仅对 UMD 格式有效) fileName: (format) => { return `${packageJson.name}.${format}.js` } } : undefined, rollupOptions: { // 确保外部化处理那些你不想打包进库的依赖 external: ['react', 'react-dom'], output: { globals: { react: 'React', // 指定全局变量名 'react-dom': 'ReactDOM' } } } }, optimizeDeps: { force: true // 强制进行依赖预构建 }, server: { allowedHosts: [ 'yangxiao.uicp.fun', // 添加你的域名 // 如果还有其他允许的域名,也可以在这里继续添加,例如: // 'localhost', // '127.0.0.1', // '.uicp.fun' // 如果你想允许所有子域名,可以用通配符 ], host: '0.0.0.0', port: 8004, proxy: { // 字符串路径前缀匹配 '/chain': { target: 'http://117.50.85.85:8086', changeOrigin: true, rewrite: (path) => path.replace(/^\/chain/, '/chain'), }, } }, preview: { port: 8004, } } })