vite.config.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import tailwindcss from '@tailwindcss/vite'
  4. // @ts-expect-error process is a nodejs global
  5. import path from 'node:path'
  6. import ElementPlus from 'unplugin-element-plus/vite'
  7. // @ts-expect-error process is a nodejs global
  8. const host = process.env.TAURI_DEV_HOST
  9. // https://vitejs.dev/config/
  10. export default defineConfig(async () => ({
  11. resolve: {
  12. alias: {
  13. // @ts-expect-error process is a nodejs global
  14. '@': path.join(process.cwd(), './src'),
  15. },
  16. },
  17. plugins: [
  18. vue(),
  19. tailwindcss(),
  20. ElementPlus({
  21. useSource: true, // 可选,是否使用源码
  22. }),
  23. ],
  24. // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
  25. //
  26. // 1. prevent vite from obscuring rust errors
  27. clearScreen: false,
  28. // 2. tauri expects a fixed port, fail if that port is not available
  29. server: {
  30. port: 1420,
  31. strictPort: true,
  32. host: host || false,
  33. hmr: host
  34. ? {
  35. protocol: 'ws',
  36. host,
  37. port: 1421,
  38. }
  39. : undefined,
  40. watch: {
  41. // 3. tell vite to ignore watching `src-tauri`
  42. ignored: ['**/src-tauri/**'],
  43. },
  44. // css: {
  45. // postcss: {
  46. // plugins: [
  47. // tailwindcss(),
  48. // autoprefixer(),
  49. // ],
  50. // },
  51. // },
  52. // css: {
  53. // preprocessorOptions: {
  54. // scss: {
  55. // additionalData: `@use "~/styles/element/index.scss" as *;`,
  56. // },
  57. // },
  58. // },
  59. },
  60. }))