Files
FastapiAdmin/frontend/app/vite.config.ts
T

78 lines
2.7 KiB
TypeScript

import process from 'node:process'
import Uni from '@uni-helper/plugin-uni'
import { isMpWeixin } from '@uni-helper/uni-env'
import UniHelperComponents from '@uni-helper/vite-plugin-uni-components'
import { WotResolver } from '@uni-helper/vite-plugin-uni-components/resolvers'
import UniHelperLayouts from '@uni-helper/vite-plugin-uni-layouts'
import UniHelperManifest from '@uni-helper/vite-plugin-uni-manifest'
import UniHelperPages from '@uni-helper/vite-plugin-uni-pages'
import Optimization from '@uni-ku/bundle-optimizer'
import UniKuRoot from '@uni-ku/root'
import { UniEchartsResolver } from 'uni-echarts/resolver'
import { UniEcharts } from 'uni-echarts/vite'
import UnoCSS from 'unocss/vite'
import AutoImport from 'unplugin-auto-import/vite'
import { defineConfig } from 'vite'
// https://vitejs.dev/config/
export default defineConfig({
base: '/app',
optimizeDeps: {
exclude: process.env.NODE_ENV === 'development' ? ['wot-design-uni', 'uni-echarts'] : [],
},
plugins: [
// https://github.com/uni-helper/vite-plugin-uni-manifest
UniHelperManifest(),
// https://github.com/uni-helper/vite-plugin-uni-pages
UniHelperPages({
dts: 'src/uni-pages.d.ts',
subPackages: [
'src/subPages',
],
/**
* 排除的页面,相对于 dir 和 subPackages
* @default []
*/
exclude: ['**/components/**/*.*'],
}),
// https://github.com/uni-helper/vite-plugin-uni-layouts
UniHelperLayouts(),
// https://github.com/uni-helper/vite-plugin-uni-components
UniHelperComponents({
resolvers: [WotResolver(), UniEchartsResolver()],
dts: 'src/components.d.ts',
dirs: ['src/components', 'src/business'],
directoryAsNamespace: true,
}),
// https://github.com/uni-ku/root
UniKuRoot(),
// https://uni-echarts.xiaohe.ink
UniEcharts(),
// https://uni-helper.cn/plugin-uni
Uni(),
// https://github.com/uni-ku/bundle-optimizer
Optimization({
enable: isMpWeixin,
logger: false,
}),
// https://github.com/antfu/unplugin-auto-import
AutoImport({
imports: ['vue', '@vueuse/core', 'pinia', 'uni-app', {
from: '@wot-ui/router',
imports: ['createRouter', 'useRouter', 'useRoute'],
}, {
from: 'wot-design-uni',
imports: ['useToast', 'useMessage', 'useNotify', 'CommonUtil'],
}, {
from: 'alova/client',
imports: ['usePagination', 'useRequest'],
}],
dts: 'src/auto-imports.d.ts',
dirs: ['src/composables', 'src/store', 'src/utils', 'src/api'],
vueTemplate: true,
}),
// https://github.com/antfu/unocss
// see unocss.config.ts for config
UnoCSS(),
],
})