// vite.config.js import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' // 导入 Naive UI 的解析器,告诉插件哪些组件属于 Naive UI import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' export default defineConfig({ plugins: [ vue(), AutoImport({ imports: [ 'vue', 'vue-router', { // 配置自动导入 Naive UI 的特定 API 'naive-ui': [ 'useMessage', // 用于显示消息提示 'useDialog', // 用于显示对话框 'useNotification', // 用于显示通知 'useLoadingBar' // 用于显示顶部加载条 // 你可以根据需要添加更多,例如 'NButton', 'NCard' 等, // 但通常推荐让 Components 插件处理组件导入,这里只放 API。 ] } ] }), Components({ resolvers: [NaiveUiResolver()] }) ], build: { outDir: '../public/SundererPage', emptyOutDir: false, rollupOptions: { input: { sundererapp: 'src/sundererapp.js' // 入口文件 }, output: { format: 'umd', // 设置输出格式为 UMD name: 'SundererApp', // 指定全局变量名,构建后应用会挂载到 window.IncreaseAccApp // 可以保留 hash 以利用缓存,但 UMD 通常用于简单场景,可选 entryFileNames: 'js/sundererapp.js', // 例如: increaseacc.js (或 [name].[hash].js) chunkFileNames: 'js/[name].js', assetFileNames: 'assets/[name][extname]', // 例如: increaseacc.css (或 [name].[hash].[ext]) // UMD 格式可能需要外部依赖,如果 Vue 是全局引入的,需要声明 // globals: { // vue: 'Vue' // 假设 Vue 已通过 script 标签全局引入 // } } } } })