electron.vite.config.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { resolve } from 'path'
  2. import { defineConfig, externalizeDepsPlugin, bytecodePlugin } from 'electron-vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import monacoEditorPlugin from 'vite-plugin-monaco-editor'
  5. import AutoImport from 'unplugin-auto-import/vite'
  6. import Components from 'unplugin-vue-components/vite'
  7. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  8. import UnoCSS from 'unocss/vite'
  9. import vueJsx from '@vitejs/plugin-vue-jsx'
  10. import AppLoading from 'vite-plugin-app-loading'
  11. export default defineConfig({
  12. main: {
  13. plugins: [externalizeDepsPlugin(), bytecodePlugin()]
  14. },
  15. preload: {
  16. plugins: [externalizeDepsPlugin(), bytecodePlugin()]
  17. },
  18. renderer: {
  19. resolve: {
  20. alias: {
  21. '@': resolve('src/renderer/src'),
  22. '~@': resolve('src/renderer/src')
  23. }
  24. },
  25. plugins: [
  26. vue(),
  27. (monacoEditorPlugin as any).default({
  28. languageWorkers: ['editorWorkerService', 'json'],
  29. customDistPath: (root: string) => {
  30. return `${root}/dist/monaco-editor`
  31. }
  32. }),
  33. // 自定引入插件
  34. AutoImport({
  35. resolvers: [ElementPlusResolver()]
  36. }),
  37. Components({
  38. resolvers: [ElementPlusResolver()]
  39. }),
  40. UnoCSS(),
  41. vueJsx(),
  42. AppLoading('src/renderer/loading.html')
  43. ]
  44. }
  45. })