JavaScript 引擎
JavaScript 引擎 是 docmd 内置的基础执行引擎。它能轻松运行在现代 JavaScript 运行时上,无需任何外部依赖或复杂的编译器,即可提供出色性能。
默认情况下,每个 docmd 仓库都使用 JavaScript 引擎。它提供高可靠性的文件遍历、元数据索引与构建生成。
配置
要显式告诉 docmd 使用 JavaScript 后端,只需在 docmd.config.json 中将 engine 属性设为 "js"。
docmd.config.json
{
"title": "开发者手册",
"engine": "js",
"src": "docs",
"out": "site"
}
适用场景与闪光点
JavaScript 引擎极其全能,在以下场景尤为出色:
- 标准仓库:包含几百个页面的站点构建极快,得益于优化的 JIT 编译与原生 JSON 解析。
- 最强可移植性:若团队使用不同的操作系统或受限的企业内网,JavaScript 引擎能保证所有环境都能稳定构建。
- 快速原型:本地开发构建可借助
npx @docmd/core dev即时热刷新,启动延迟极低。 - 自定义脚本:配置兜底逻辑与插件集成都自然运行在 JavaScript 中,标准字符串解析不会产生跨边界序列化成本。
可用设备与宿主兼容性
由于完全运行在原生运行时中,JavaScript 引擎支持极其广泛的目标平台:
- 操作系统:macOS、Linux、Windows、FreeBSD 与 OpenBSD。
- 硬件架构:x64、ARM64(Apple Silicon、AWS Graviton)、ARMv7 与 RISC-V。
- 容器环境:Alpine Linux、标准 Debian/Ubuntu、无服务器构建执行器(Vercel、Netlify)以及嵌入式 CI 流水线。
能力与限制
| 维度 | JavaScript 引擎特性 | 实际影响 |
|---|---|---|
| 并发模型 | Node.js 事件循环 + 原生 Worker 线程 | 对网络响应的异步调度非常出色;磁盘密集型任务也能顺畅运行。 |
| Git 元数据处理 | 子进程编排 (child_process.execFile) |
安全地派生原生 Git 二进制来收集提交历史,包含持久化磁盘缓存。 |
| 安装与初始化 | 零配置 | 启动瞬时,无需在 postinstall 阶段编译任何包。 |
| 可扩展性上限 | 在约 1000 个文档以内性能出色 | 在超过一千个复杂文件的单体仓库中,串行的子进程开销可能带来轻微延迟。 |
功能完整度
JavaScript 引擎 独占"通用功能全支持"的位置。每一项核心特性、进阶语法、模板区域与官方插件都被设计为可在此顺畅运行。
无论是编译数学公式、渲染实时搜索索引,还是生成静态站点地图,JavaScript 引擎都能保证确定的构建结果。