Appearance
CLI 环境变量一览
本文整理 ArenaPro CLI 项目中常见的环境变量,说明它们的用途、在哪里配置,以及是否必需。
1. 地图与账号相关
用于「绑定哪张地图」「用哪个账号上传 / 拉取资源」。一般在
.env中配置。
1.1 地图绑定 ID
VITE_DAO3_MAP_ID- 用途:当前工程要绑定 / 上传的地图 ID。
- 配置位置:通常通过
apc set <ID>自动写入.env[.mode]。 - 是否必需:
- 需要上传脚本到某张地图时 必需;
- 只在本地做纯脚本构建时可以不配。
1.2 登录信息(通常走全局登录)
说明:一般推荐使用
apc login完成全局登录,此时项目里的.env可以不写登录信息。只有在你确实需要“覆盖全局登录”或在 CI 中单独配置账号时,才需要配置下面这些变量。
VITE_DAO3_AUTH- 用途:账号 Token,用于上传脚本、同步资源等需要鉴权的操作。
- 配置位置:
- 本地:按需写入
.env(覆盖当前机器的全局登录); - CI:GitHub Secrets(
VITE_DAO3_AUTH)。
- 本地:按需写入
- 是否必需:
- 本地:通常 不必 单独配置,全局登录即可;
- CI:用于自动上传时 推荐配置,让流水线也能独立完成鉴权。
VITE_DAO3_UA- 用途:上传时携带的 UA 标识,用于区分来源(脚手架、本地工具等)。
- 配置位置:同上,
.env或 CI Secrets。 - 是否必需:
- 本地:可选;
- CI:推荐配置,便于后台识别“这是 CI 流水线发起的上传”。
1.3 地图元信息
VITE_DAO3_PLAY_HASHVITE_DAO3_EDIT_HASHVITE_DAO3_MAP_NAME
说明:
- 这些字段通常由
apc set自动写入.env,来源于你通过apc list选中的那张地图; - 主要用于
apc preview打开创作 / 游玩链接,以及在日志中标注“当前绑定的地图名称”。 - 是否必需:不直接影响构建,但推荐保留,方便预览和排查问题。
2. 构建行为控制
决定“构建哪一个 bundle”“构建结束要不要自动上传”。
VITE_CURRENT_FILE- 用途:当前要构建 / 上传的 bundle 名称(如
bundle、bundle.pve等)。 - 配置位置:
.env;通常由脚手架初始生成,也可以手动修改。 - 是否必需:
- 对于使用官方脚手架的项目,推荐必配;
- CLI 会根据这个字段和
dao3.config.ts里定义的 bundle 做匹配。
- 用途:当前要构建 / 上传的 bundle 名称(如
VITE_UPDATE_FILE- 用途:控制构建完成后是否自动上传脚本到地图。
- 典型值:
"true"/"false"(字符串)。 - 配置位置:
- 本地
.env:默认可设为false,只在手动需要时改为true; - CI workflow:强烈推荐在 YAML 里 显式覆盖:
- 构建检查流水线:
VITE_UPDATE_FILE: "false"; - 发布流水线:
VITE_UPDATE_FILE: "true"。
- 构建检查流水线:
- 本地
- 是否必需:
- 不上传时可以不设,CLI 会当作
false处理; - 建议始终显式设置,避免误上传。
- 不上传时可以不设,CLI 会当作
3. CI / 发布相关
用于标记“是不是 CI 构建”“这是哪个版本”。
VITE_CI- 用途:标记这次构建 / 上传是否来自 CI 流水线。
- 在 ArenaPro CLI 中的约定用法:
- 当
VITE_CI="true"时,CLI 会把这次构建视为 CI 构建; - 上传的脚本文件会使用带
.ci.js等后缀的命名,方便区分是开发者本地上传,还是由流水线自动发布的版本。
- 当
- 配置位置:一般 只在 CI workflow 中设置:yaml
env: VITE_CI: "true" - 是否必需:
- 本地开发不需要;
- 在你想区分“CI 版本 / 本地版本”的项目里,推荐在发布流水线中设置。
VITE_VERSION用途:记录这次发布的版本号(通常直接来自 tag,如
v1.2.3)。配置位置:发布流水线里解析 tag 并写入:
yaml- name: 解析当前版本号 run: | VERSION="${GITHUB_REF#refs/tags/}" echo "VERSION=$VERSION" >> $GITHUB_ENV - name: 构建并上传到神岛 env: VITE_VERSION: ${{ env.VERSION }} VITE_UPDATE_FILE: "true" ...是否必需:
- 不是 CLI 强制要求;
- 推荐在中大型项目里使用,用于在脚本中
import.meta.env.VITE_VERSION打日志、回溯“是哪个版本出问题”。
4. Vite 内置与自定义变量
这些是 Vite 自带或常见约定,ArenaPro 项目中也会用到。
import.meta.env.MODE- 用途:当前运行模式(
development/production等)。 - 配置位置:Vite 自动注入;通过
npm run dev/npm run build的--mode控制。 - 是否必需:不需要自己配置,按脚手架默认即可。
- 用途:当前运行模式(
其他
VITE_*自定义变量- 你可以在
.env中自行扩展,例如:VITE_FEATURE_FLAG_X=1VITE_LOG_LEVEL=debug
- 只要以
VITE_开头,就会被注入到import.meta.env中。 - 建议: - 所有会下发到客户端的配置,都用
VITE_前缀; - 新增时记得在env.d.ts里补类型声明。 s
- 你可以在