vite.config.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { defineConfig } from 'vite';
  2. import Vue from '@vitejs/plugin-vue';
  3. import VueJsx from '@vitejs/plugin-vue-jsx';
  4. import VueDevTools from 'vite-plugin-vue-devtools';
  5. import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite';
  6. import UnoCSS from 'unocss/vite';
  7. import AutoImport from 'unplugin-auto-import/vite';
  8. import { AntDesignVueResolver, ElementPlusResolver } from 'unplugin-vue-components/resolvers';
  9. import Components from 'unplugin-vue-components/vite';
  10. import path from 'node:path';
  11. import { fileURLToPath, URL } from 'node:url';
  12. export default defineConfig({
  13. plugins: [
  14. Vue({
  15. template: {
  16. compilerOptions: {
  17. isCustomElement: (tag) => {
  18. return tag.startsWith('un-');
  19. },
  20. },
  21. },
  22. }),
  23. VueJsx(),
  24. VueDevTools(),
  25. VueI18nPlugin({
  26. include: path.resolve(__dirname, './src/i18n/locales/**'),
  27. }),
  28. AutoImport({
  29. dts: false,
  30. resolvers: [ElementPlusResolver()],
  31. }),
  32. Components({
  33. dts: false,
  34. resolvers: [
  35. ElementPlusResolver(),
  36. AntDesignVueResolver({
  37. importStyle: false, // css in js
  38. }),
  39. ],
  40. }),
  41. UnoCSS(),
  42. ],
  43. resolve: {
  44. alias: {
  45. '@': fileURLToPath(new URL('./src', import.meta.url)),
  46. },
  47. },
  48. });