配置参考

transone.config.ts、defineConfig、默认值、多页与 CLI 覆盖。

在项目根目录创建可选的 transone.config.ts。配置文件只支持普通对象默认导出;defineConfig() 提供类型检查而不改变对象本身;resolveConfig 合并默认值与 CLI 参数(CLI 参数优先)后得到 ResolvedConfig。

typescript
import { defineConfig } from 'transone-cli';

export default defineConfig({
  entry: 'src/main.ts',
  pages: {
    '/about': 'src/pages/about.ts',
  },
  server: {
    port: 52311,
  },
  build: {
    outDir: 'dist/web',
    basePath: '',
    directoryPages: true,
  },
  mp: {
    appId: 'touristappid',
    navigationBarTitleText: 'TransOne',
  },
});

配置项

transone.config.ts 字段
名称类型说明
entrystring应用入口,默认 src/main.ts;入口必须存在。
pagesRecord<string, string>多页映射:路由 → 页面入口;根路由由 entry 占用。
server.host / port / proxyobject开发服务器:地址、端口(默认 52211)与代理前缀映射。
build.outDirstring构建输出目录,默认 dist/build/h5。
build.basePathstring部署子路径前缀(如 /transone/),默认空。
build.directoryPagesboolean目录式页面(route/index.html),适合 GitHub Pages 子路径。
libraryobject库构建配置:entry / outDir / external / tsconfigs / dts / splitting / sourcemap / minify。
mpMiniProgramConfig | MiniProgramConfigMap小程序目标端配置:单一配置(作用于所有 mp 目标),或按平台分组(mp['mp-weixin'] / mp['mp-alipay'] / mp['mp-bytedance']),构建时只取当前 target 对应的一份。

解析与覆盖

  • 默认值:entry=src/main.ts、target=web、outDir=dist、basePath=空、directoryPages=false。
  • 覆盖顺序:CLI 参数(--target / --out-dir / --base / --host / --port 等)覆盖 transone.config.ts,配置覆盖默认值。
  • 动态求值:配置在 Node/Bun 环境求值,可读取环境变量或按平台分支(文档站即用 process.env 切换 base)。

子路径部署

GitHub Pages 项目页挂在子路径下(如/transone/)。构建时传入--base,SSR 渲染与客户端路由都会感知子路径;配合directoryPages,每个路由产出独立的index.html,无需服务端重写。本文档站即此模式:

bash
transone build --target web --base /transone/