Skip to content

配置信息

在「用 ArenaPro CLI 创建你的第一个项目」中,你已经完成了基础准备工作:

  • 全局安装 CLI,并用 apc create 创建了项目;
  • 通过 apc login / apc list / apc set 绑定了一张扩展地图;
  • .env 中写入了必要的账号与地图信息。

本篇不再重复这些步骤,而是重点说明两件事:

  • .env 里这些字段分别控制什么行为
  • dao3.config.ts 中的 bundle 配置 如何决定「构建哪些脚本、上传到哪里」。

一、在 .env 中配置

脚手架通过环境变量把「账号信息」和「部署行为」注入到构建流程中。
本脚手架的 .env 中会包含以下这些变量(下面是一份示例注释版模板):

env
# ========================
# 构建与上传配置
# ========================


# 【目标构建模块】
# 指定要构建的 bundle 名称,对应 dao3.config.ts → bundles 的 key
# 留空:构建所有启用的 bundle(多入口模式)
# 示例:VITE_CURRENT_FILE=bundle
VITE_CURRENT_FILE=


# 【自动上传开关】
# 构建脚本完成后是否上传到神岛地图
# 可选值:true | false
VITE_UPDATE_FILE=true


# ========================
# 地图资源配置
# ========================


# 【UI节点过滤前缀】
# 按节点名前缀筛选 UI 元素,留空表示显示全部
# 示例:VITE_UI_INDEX_PREFIX=btn_ (仅显示 btn_ 开头的节点)
VITE_UI_INDEX_PREFIX=


# 【目标地图ID】
# 脚本要上传的目标地图ID,必须为「扩展地图」类型
VITE_DAO3_MAP_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:是否在构建后自动上传脚本

  • 作用:控制构建完成后,脚手架是否自动将构建结果上传到 Arena

  • 取值(布尔值):

    env
    VITE_UPDATE_FILE=true   # 构建后自动上传
    VITE_UPDATE_FILE=false  # 只本地构建,不上传

常见用法:

  • 开发期 / 日常联调:设为 true,构建之后自动同步,减少手动步骤;
  • 特殊场景(只想看本地构建结果或调试 build pipeline):临时改成 false

二、在 dao3.config.ts 中配置 bundle 信息

dao3.config.ts 决定了:

  • 项目中有哪些 bundle
  • 每个 bundle 对应的 client/server 入口文件

示例配置(TypeScript 版本):

ts
import type { IDao3Config } from "vite-plugin-arenapro-script";

export default {
  bundles: {
    bundle: {
      client: { entry: "App.ts" },
      server: { entry: "App.ts" },
      enable: true,
    },
  },
} as IDao3Config;

1. bundles:多入口 / 多模式脚本配置

bundles 是一个「名字 → 配置」的映射,每个 key 对应一个可独立构建和上传的 bundle。

  • bundle 名(如 "bundle"
    • 必须与 .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,
    },
  },
} as IDao3Config;

通过切换 .env 中的 VITE_CURRENT_FILE,可以在不同 bundle 之间切换构建 / 上传目标。

神岛实验室