Files
frappe-sunderer-app/sunderer_app/frontend/vite.config.js
T

57 lines
1.9 KiB
JavaScript

// 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 标签全局引入
// }
}
}
}
})