Appearance
配置信息
在「用 APC 创建第一个 Creator 工程」中,你已经完成了基础准备工作:
- 全局安装 CLI,并用
apc project create创建了项目; - 通过
apc profile add、apc map list、apc project bind绑定了一张 Creator 地图; - 在
.env中写入了 Profile 名称和永久地图 ID。
本篇不再重复这些步骤,而是重点说明两件事:
.env中的工程绑定和构建字段分别控制什么行为;dao3.config.ts中的 bundle 配置 如何决定「构建哪些脚本、上传到哪里」。
一、在 .env 中配置
脚手架通过环境变量保存工程绑定和构建行为。CLI Token 不写入 .env,而是通过 BOX_CREATOR_TOKEN 或 Profile 的本地凭据提供。
本脚手架的 .env 可包含以下变量:
env
# ========================
# 构建与上传配置
# ========================
# 【目标构建模块】
# 指定要构建的 bundle 名称,对应 dao3.config.ts → bundles 的 key
# 留空:构建所有启用的 bundle(多入口模式)
# 示例:VITE_CURRENT_FILE=bundle
VITE_CURRENT_FILE=
# 【自动上传开关】
# 构建脚本完成后是否上传到 Creator
# 仅严格为 true 时上传;其他值不上传
VITE_UPDATE_FILE=true
# 【版本化上传】
# 严格为 true 时,在远程脚本文件名中追加根 package.json 的 version
VITE_BOX_CREATOR_VERSION=false
# ========================
# 地图资源配置
# ========================
# 【UI节点过滤前缀】
# 按节点名前缀筛选 UI 元素,留空表示显示全部
# 示例:VITE_UI_INDEX_PREFIX=btn_ (仅显示 btn_ 开头的节点)
VITE_UI_INDEX_PREFIX=
# 【Creator Profile 与目标地图】
# 由 apc project bind <permanentMapId> 自动写入
VITE_BOX_CREATOR_PROFILE=local
VITE_BOX_CREATOR_PROJECT_ID=1. VITE_CURRENT_FILE:当前构建 / 上传的 bundle 名
- 作用:告诉构建脚本「这次要上传的是哪一个 bundle」。
- 取值范围:必须是
dao3.config.ts -> bundles下的某个 key 或留空。
例如,上面示例中只有一个名为 bundle 的配置;此时在 .env 中可以设置:
env
VITE_CURRENT_FILE=bundle- 当
VITE_CURRENT_FILE留空时,脚手架会对dao3.config.ts中所有已启用的 bundle 进行多入口打包和监听,适合需要同时调试多套入口的场景。
2. VITE_UPDATE_FILE:是否在构建后自动上传脚本
作用:控制构建完成后,脚手架是否自动将构建结果上传到 Creator。
取值(布尔值):
envVITE_UPDATE_FILE=true # 构建后自动上传 VITE_UPDATE_FILE=false # 只本地构建,不上传
常见用法:
- 开发期 / 日常联调:设为
true,构建之后自动同步,减少手动步骤; - 特殊场景(只想看本地构建结果或调试 build pipeline):临时改成
false。
3. VITE_BOX_CREATOR_VERSION:是否使用版本化脚本文件名
- 设为
true时,远程脚本文件名会追加根package.json的version; - 开发调试通常设为
false,以便持续覆盖固定脚本名; - 此字段不改变地图 ID、Profile 或脚本权限。
二、在 dao3.config.ts 中配置 bundle 信息
dao3.config.ts 决定了:
- 项目中有哪些 bundle;
- 每个 bundle 对应的 client/server 入口文件。
示例配置(TypeScript 版本):
ts
import type { IBoxCreatorConfig } from "vite-plugin-arenapro-script";
export default {
bundles: {
main: {
client: { entry: "App.ts" },
server: { entry: "App.ts" },
enable: true,
},
},
} satisfies IBoxCreatorConfig;1. bundles:多入口 / 多模式脚本配置
bundles 是一个「名字 → 配置」的映射,每个 key 对应一个可独立构建和上传的 bundle。
- bundle 名(如
"main"):- 必须与
.env中的VITE_CURRENT_FILE一致;
- 必须与
client.entry/server.entry:- 分别指定客户端 / 服务端入口脚本文件名(相对于各自源码根目录);
当你有多个玩法或多张地图时,可以在 dao3.config.ts 中新增多个 bundle,例如:
ts
export default {
bundles: {
pve: {
client: { entry: "App.ts" },
server: { entry: "App.ts" },
enable: true,
},
pvp: {
client: { entry: "App2.ts" },
server: { entry: "App2.ts" },
enable: true,
},
},
} satisfies IBoxCreatorConfig;通过切换 .env 中的 VITE_CURRENT_FILE,可以在不同 bundle 之间切换构建 / 上传目标。