Skip to content

.env 配置手册

本文档详细说明项目根目录下 .env 文件的配置项,包括环境标识、端口、URL、CORS 等参数的含义和使用方法。

1. 环境标识

用于指定项目运行环境,由自动化脚本自动注入或手动修改。

变量名可选值说明
NODE_ENVdevelopment开发环境(本地开发时使用,启用热更新、详细日志)
production生产环境(线上部署时使用,优化性能、关闭调试功能)

示例

# 生产环境
NODE_ENV=production

2. 开发环境变量

仅在 NODE_ENV=development 时生效,用于本地开发调试。

变量名默认值说明
DEV_FRONTEND_PORT5174前端 VitePress 开发服务器端口(避免与其他服务冲突)
DEV_BACKEND_PORT3003后端 API 服务开发端口
DEV_API_URLhttp://localhost:${DEV_BACKEND_PORT}/api前端请求的后端 API 基础路径(动态拼接后端端口)
DEV_BASE_URL/前端路由基础路径(本地开发通常为根路径)

示例

# 开发环境前端端口改为 8080
DEV_FRONTEND_PORT=8080
# 开发环境 API 地址
DEV_API_URL=http://localhost:3003/api

3. 生产环境变量

仅在 NODE_ENV=production 时生效,用于线上部署。

变量名默认值说明
PROD_FRONTEND_PORT80前端服务端口(如使用 Nginx 反向代理,可保持默认 80)
PROD_BACKEND_PORT3001后端 API 服务端口(生产环境建议使用非 80/443 端口)
PROD_API_URLhttp://xxx.xx.xx.xx前端请求的后端 API 地址(生产服务器公网 IP/域名)
PROD_BASE_URL/前端路由基础路径(如部署在子路径下,需改为 /subpath/
PROD_CHUNK_SIZE_WARNING_LIMIT1000前端构建时 Chunk 大小警告阈值(KB),超过此值会提示优化

示例

# 生产环境 API 域名
PROD_API_URL=https://api.example.com
# 生产环境前端子路径部署
PROD_BASE_URL=/docs/

4. 共享变量(所有环境通用)

在开发/生产环境均生效,用于统一配置站点基础信息。

变量名默认值说明
SHARED_TITLE我的VitePress文档站点标题(显示在浏览器标签页和首页)
SHARED_LOGO_PATH/assets/icons/logo.jpgLogo 图片路径(基于 public 目录,无需加 public 前缀)
SHARED_OUTLINE_TITLE章节导航右侧大纲面板标题
SHARED_DOC_FOOTER_PREV上一页文档底部“上一页”按钮文本
SHARED_DOC_FOOTER_NEXT下一页文档底部“下一页”按钮文本

示例

# 自定义站点标题和Logo
SHARED_TITLE=EAI Node.js 模板文档
SHARED_LOGO_PATH=/assets/logo-custom.png

5. CORS 配置

用于控制后端 API 跨域访问权限(仅后端服务生效)。

变量名默认值说明
CORS_ORIGINhttp://localhost:5174允许跨域请求的前端域名(生产环境建议指定具体域名,如 https://docs.example.com
CORS_METHODSGET,POST,PUT,DELETE允许的 HTTP 请求方法
CORS_ALLOWED_HEADERSContent-Type,Authorization,X-Custom-Header允许的请求头(如需要自定义 headers,需在此添加)

示例

# 生产环境允许所有域名跨域(不推荐,仅测试用)
CORS_ORIGIN=*
# 仅允许 GET 和 POST 方法
CORS_METHODS=GET,POST

6. 其他配置

用于自动化脚本的路径和文件配置。

变量名默认值说明
TMP_PACK_DIRdeploy/app构建产物临时打包目录(脚本内部使用,无需手动修改)
FINAL_OUTPUTdist/app.tar.gz最终打包输出路径(用于部署的压缩包位置)

示例

# 自定义打包输出路径
FINAL_OUTPUT=dist/deploy.tar.gz

配置优先级

  1. 环境变量优先:NODE_ENV 决定加载开发/生产环境变量
  2. 动态拼接:DEV_API_URL 会自动拼接 DEV_BACKEND_PORT 的值
  3. 脚本覆盖:自动化脚本(如 build.js)可能会临时修改部分变量(不影响 .env 文件)

注意事项

  • 敏感信息.env 文件不应提交敏感信息(如数据库密码),生产环境建议通过服务器环境变量注入
  • 路径规范SHARED_LOGO_PATH 需指向 public 目录下的文件,如 public/assets/icons/logo.jpg 对应路径 /assets/icons/logo.jpg
  • 端口冲突:开发时若提示端口被占用,修改 DEV_FRONTEND_PORTDEV_BACKEND_PORT 为未占用端口

通过修改 .env 文件,可灵活适配不同环境需求,无需修改代码即可切换配置。