electron.vite.config.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { resolve } from 'path'
  2. import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import AutoImport from 'unplugin-auto-import/vite'
  5. import Components from 'unplugin-vue-components/vite'
  6. import { TDesignResolver } from 'unplugin-vue-components/resolvers'
  7. import tailwindcss from '@tailwindcss/vite'
  8. export default defineConfig({
  9. main: {
  10. build: {
  11. rollupOptions: {
  12. input: {
  13. index: resolve(__dirname, 'electron/main/index.ts')
  14. }
  15. }
  16. }
  17. },
  18. preload: {
  19. build: {
  20. rollupOptions: {
  21. input: {
  22. index: resolve(__dirname, 'electron/preload/index.ts')
  23. }
  24. }
  25. }
  26. },
  27. renderer: {
  28. root: '.',
  29. build: {
  30. rollupOptions: {
  31. input: {
  32. index: resolve(__dirname, 'index.html')
  33. }
  34. }
  35. },
  36. resolve: {
  37. alias: {
  38. '@': resolve('src')
  39. }
  40. },
  41. plugins: [
  42. vue(),
  43. tailwindcss(),
  44. AutoImport({
  45. imports: ['vue', 'vue-router', '@vueuse/core', 'pinia'],
  46. dts: 'src/types/auto-imports.d.ts' // 自动生成 auto-imports.d.ts
  47. }),
  48. Components({
  49. resolvers: [TDesignResolver({
  50. library: 'vue-next'
  51. })],
  52. dirs: ['src/components', 'src/**/components', 'src/**/components/**/*.vue'],
  53. dts: 'src/types/auto-components.d.ts' // 自动生成 components.d.ts
  54. })
  55. ],
  56. optimizeDeps: {
  57. include: [
  58. 'vue',
  59. 'vue-router',
  60. 'pinia',
  61. 'vue-i18n',
  62. 'axios',
  63. '@vueuse/core',
  64. 'pinia-plugin-persistedstate',
  65. 'js-cookie',
  66. 'nprogress',
  67. 'tdesign-vue-next'
  68. ]
  69. }
  70. }
  71. })