vite.config.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { defineConfig } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import tailwindcss from 'tailwindcss';
  4. import autoprefixer from 'autoprefixer';
  5. import path from 'path';
  6. import Icons from "unplugin-icons/vite";
  7. import IconsResolver from 'unplugin-icons/resolver';
  8. import Components from 'unplugin-vue-components/vite';
  9. const host = process.env.TAURI_DEV_HOST;
  10. // https://vitejs.dev/config/
  11. export default defineConfig(async () => ({
  12. plugins: [
  13. vue(),
  14. Icons({ compiler: 'vue3' }),
  15. Components({
  16. resolvers: [
  17. IconsResolver({
  18. prefix: '' // optional, default is 'i'
  19. })
  20. ]
  21. })
  22. ],
  23. css: {
  24. postcss: {
  25. plugins: [
  26. tailwindcss,
  27. autoprefixer,
  28. ],
  29. },
  30. },
  31. resolve: {
  32. alias: {
  33. '@': path.resolve(__dirname, './src')
  34. }
  35. },
  36. // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
  37. //
  38. // 1. prevent vite from obscuring rust errors
  39. clearScreen: false,
  40. // 2. tauri expects a fixed port, fail if that port is not available
  41. server: {
  42. port: 1420,
  43. strictPort: true,
  44. host: host || false,
  45. hmr: host
  46. ? {
  47. protocol: "ws",
  48. host,
  49. port: 1421,
  50. }
  51. : undefined,
  52. watch: {
  53. // 3. tell vite to ignore watching `src-tauri`
  54. ignored: ["**/src-tauri/**"],
  55. },
  56. },
  57. }));