vite.config.ts 1.8 KB

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