vite.config.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { defineConfig } from 'vite'
  2. import react from '@vitejs/plugin-react'
  3. import { resolve } from 'path'
  4. import { readFileSync } from 'fs'
  5. // 版本更新文件(项目根目录 VERSION.md)—— 系统导航栏版本号的唯一来源
  6. // 构建/开发时由 Node 读取内容注入,运行期无需请求接口
  7. const versionFilePath = resolve(__dirname, '../VERSION.md')
  8. const versionFileContent = readFileSync(versionFilePath, 'utf-8')
  9. // 开发模式下修改 VERSION.md 自动重启 dev server 并刷新页面
  10. const versionFileReload = () => ({
  11. name: 'version-file-reload',
  12. configureServer(server: any) {
  13. server.watcher.add(versionFilePath)
  14. server.watcher.on('change', (file: string) => {
  15. if (file === versionFilePath) {
  16. server.restart()
  17. server.ws.send({ type: 'full-reload' })
  18. }
  19. })
  20. }
  21. })
  22. // https://vite.dev/config/
  23. export default defineConfig({
  24. plugins: [react(), versionFileReload()],
  25. define: {
  26. __APP_VERSION_FILE__: JSON.stringify(versionFileContent)
  27. },
  28. resolve: {
  29. alias: {
  30. '@': resolve(__dirname, 'src')
  31. }
  32. },
  33. base: './',
  34. server: {
  35. port: 5173,
  36. fs: {
  37. // 允许读取项目根目录(frontend 的上一层)下的 VERSION.md
  38. allow: ['..']
  39. },
  40. proxy: {
  41. // 开发环境代理:处理 /dipapp/iris-api/* 请求
  42. // 将所有 /dipapp/iris-api 前缀的请求转发到 IRIS 后端
  43. '/dipapp/iris-api': {
  44. target: 'http://172.16.2.15:52773',
  45. changeOrigin: true,
  46. rewrite: () => '/csp/drg/sysInternalMutiple'
  47. },
  48. // 兼容不带 /dipapp 前缀的请求(如有)
  49. '/iris-api': {
  50. target: 'http://172.16.2.15:52773',
  51. changeOrigin: true,
  52. rewrite: () => '/csp/drg/sysInternalMutiple'
  53. }
  54. }
  55. },
  56. build: {
  57. outDir: 'dist',
  58. assetsDir: 'assets',
  59. sourcemap: false
  60. }
  61. })