vite.config.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import path from 'path';
  2. import { defineConfig, loadEnv } from 'vite';
  3. import react from '@vitejs/plugin-react';
  4. export default defineConfig(({ mode }) => {
  5. const env = loadEnv(mode, process.cwd())
  6. return {
  7. base: env.VITE_BASE_PATH,
  8. server: {
  9. port: 3000,
  10. host: '0.0.0.0',
  11. },
  12. plugins: [react()],
  13. define: {
  14. 'process.env.API_KEY': JSON.stringify(env.GEMINI_API_KEY),
  15. 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY)
  16. },
  17. resolve: {
  18. alias: {
  19. // map @ to the src directory so imports like '@/router/routes' resolve correctly
  20. '@': path.resolve(__dirname, 'src'),
  21. }
  22. },
  23. css: {
  24. /**
  25. * 如果启用了这个选项,那么 CSS 预处理器会尽可能在 worker 线程中运行;即通过多线程运行 CSS 预处理器,从而极大提高其处理速度
  26. * https://cn.vitejs.dev/config/shared-options#css-preprocessormaxworkers
  27. */
  28. preprocessorMaxWorkers: true,
  29. /**
  30. * 建议只用来嵌入 SCSS 的变量声明文件,嵌入后全局可用
  31. * 该选项可以用来为每一段样式内容添加额外的代码。但是要注意,如果你添加的是实际的样式而不仅仅是变量,那这些样式在最终的产物中会重复
  32. * https://cn.vitejs.dev/config/shared-options.html#css-preprocessoroptions-extension-additionaldata
  33. */
  34. preprocessorOptions: {
  35. scss: {
  36. // 如果您的终端提示 legacy JS API Deprecation Warning, 您可以配置以下代码在 vite.config.ts 中
  37. // 使用现代 CSS API,避免 legacy warning
  38. api: 'modern-compiler',
  39. // 全局引入变量文件,使用路径别名 @ 表示 src 目录
  40. additionalData: `@use "@/styles/variables.scss" as *;`,
  41. },
  42. },
  43. },
  44. };
  45. });