参考
编程式 API
所有工具 API 都来自 @geektech/tsone-cli,而不是框架根导出:
import {
build,
createProject,
defineConfig,
resolveConfig,
startDevServer,
} from '@geektech/tsone-cli';
const config = defineConfig({ build: { outDir: 'output' } });
const resolved = await resolveConfig({ root: process.cwd(), config });
const server = await startDevServer({ root: resolved.root, port: 0 });
try {
console.log(server.url);
} finally {
server.stop();
}
const result = await build({ root: resolved.root, outDir: 'release' });
console.log(result.root, result.outDir, result.assetsBuilt);函数
| 名称 | 签名 | 说明 |
|---|---|---|
defineConfig | (config: UserConfig) => UserConfig | 返回相同的类型化配置对象。 |
resolveConfig | (options?) => Promise<ResolvedConfig> | 校验并合并默认值、配置文件、直接配置与 host/port/outDir 覆盖。返回绝对 root、entry 与 build.outDir 值、解析后的 pages 路由映射,以及解析后的服务器配置。 |
startDevServer | (options?) => Promise<Server> | 解析配置并返回 Bun 服务器。调用方拥有其生命周期,必须调用 server.stop()。 |
build | (options?) => Promise<BuildResult> | 校验入口与输出路径,站点构建提取可确认的固定 CSS,然后返回 { root, outDir, assetsBuilt };assetsBuilt 包含静态 CSS,路径绝对且去重。 |
createProject | (options?) => Promise<CreateProjectResult> | 将基础 TSone 脚手架写入 options.root(默认为当前工作目录)并返回 { root, files };拒绝覆盖已存在的文件。 |
公开类型
从包入口同时导出以下类型:BuildOptions、BuildResult、BuildConfig、ProxyOptions、ResolveConfigOptions、ResolvedConfig、ServerConfig、UserConfig,以及 CreateProjectOptions、CreateProjectResult。