electron.vite.config.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import { resolve } from 'path'
  2. import { defineConfig } 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. external: ['mxgraph'],
  32. input: {
  33. index: resolve(__dirname, 'index.html')
  34. }
  35. }
  36. },
  37. resolve: {
  38. alias: {
  39. '@': resolve('src')
  40. }
  41. },
  42. plugins: [
  43. vue(),
  44. tailwindcss(),
  45. AutoImport({
  46. imports: ['vue', 'vue-router', '@vueuse/core', 'pinia'],
  47. dts: 'src/types/auto-imports.d.ts' // 自动生成 auto-imports.d.ts
  48. }),
  49. Components({
  50. resolvers: [
  51. TDesignResolver({
  52. library: 'vue-next'
  53. })
  54. ],
  55. dirs: ['src/components', 'src/**/components', 'src/**/components/**/*.vue'],
  56. dts: 'src/types/auto-components.d.ts' // 自动生成 components.d.ts
  57. })
  58. ],
  59. optimizeDeps: {
  60. exclude: ['mxgraph'],
  61. include: [
  62. 'vue',
  63. 'vue-router',
  64. 'pinia',
  65. 'vue-i18n',
  66. 'axios',
  67. '@vueuse/core',
  68. 'pinia-plugin-persistedstate',
  69. 'js-cookie',
  70. 'nprogress',
  71. 'lodash-es',
  72. 'tdesign-vue-next'
  73. ]
  74. }
  75. }
  76. })