vite.config.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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 copy from 'rollup-plugin-copy';
  7. import UnoCSS from 'unocss/vite';
  8. import AutoImport from 'unplugin-auto-import/vite';
  9. import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
  10. import Components from 'unplugin-vue-components/vite';
  11. import path from 'node:path';
  12. import { fileURLToPath, URL } from 'node:url';
  13. export default defineConfig({
  14. plugins: [
  15. Vue({
  16. template: {
  17. compilerOptions: {
  18. isCustomElement: (tag) => {
  19. return tag.startsWith('un-');
  20. },
  21. },
  22. },
  23. }),
  24. copy({
  25. targets: [
  26. {
  27. src: './node_modules/libpag/lib/libpag.wasm',
  28. dest: process.env.NODE_ENV === 'production' ? 'dist/' : 'public/',
  29. },
  30. ],
  31. hook: process.env.NODE_ENV === 'production' ? 'writeBundle' : 'buildStart',
  32. }),
  33. VueJsx(),
  34. VueDevTools(),
  35. VueI18nPlugin({
  36. include: path.resolve(__dirname, './src/i18n/locales/**'),
  37. }),
  38. AutoImport({
  39. dts: false,
  40. resolvers: [],
  41. }),
  42. Components({
  43. dts: false,
  44. resolvers: [
  45. AntDesignVueResolver({
  46. importStyle: false, // css in js
  47. }),
  48. ],
  49. }),
  50. UnoCSS(),
  51. ],
  52. resolve: {
  53. alias: {
  54. '@': fileURLToPath(new URL('./src', import.meta.url)),
  55. },
  56. },
  57. });