electron.vite.config.mjs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { resolve } from "path"
  2. import vue from "@vitejs/plugin-vue"
  3. import { defineConfig, externalizeDepsPlugin, loadEnv } from "electron-vite"
  4. import AutoImport from "unplugin-auto-import/vite"
  5. import Components from "unplugin-vue-components/vite"
  6. import { ElementPlusResolver, VueUseComponentsResolver, VueUseDirectiveResolver } from "unplugin-vue-components/resolvers"
  7. export default defineConfig(({ mode }) => {
  8. const viteEnv = loadEnv(mode, "./")
  9. return {
  10. main: {
  11. plugins: [externalizeDepsPlugin()]
  12. },
  13. preload: {
  14. plugins: [externalizeDepsPlugin()]
  15. },
  16. renderer: {
  17. server: {
  18. allowedHosts: "all",
  19. port: viteEnv.VITE_APP_PORT,
  20. proxy: {
  21. [viteEnv.VITE_BASE_URL]: {
  22. target: viteEnv.VITE_BASE_SERVER_URL,
  23. changeOrigin: true,
  24. rewrite: path => path.replace(viteEnv.VITE_BASE_URL, "/")
  25. }
  26. }
  27. },
  28. resolve: {
  29. alias: {
  30. "@renderer": resolve("src/renderer/src")
  31. }
  32. },
  33. plugins: [
  34. vue(),
  35. AutoImport({
  36. include: [
  37. /\.vue$/,
  38. /\.vue\?vue/
  39. ],
  40. imports: ["vue", "vue-router"],
  41. eslintrc: {
  42. enabled: true,
  43. filepath: "./.eslintrc-auto-import.json",
  44. globalsPropValue: true
  45. },
  46. resolvers: [
  47. ElementPlusResolver()
  48. ]
  49. }),
  50. Components({
  51. resolvers: [
  52. ElementPlusResolver(),
  53. VueUseComponentsResolver(),
  54. VueUseDirectiveResolver()
  55. ]
  56. })
  57. ]
  58. }
  59. }
  60. })