CLI 命令
VextJS 提供了 vext 命令行工具,覆盖项目创建、开发、构建、部署的完整生命周期。
安装
vext CLI 随 vextjs 包一起安装,无需额外安装:
安装后可以通过以下方式调用:
命令概览
vext create — 创建项目
交互式创建新的 VextJS 项目,自动生成项目骨架和配置文件。
用法
选项
示例
生成的目录结构
创建完成后:
访问 http://localhost:3000,你应该能看到框架的 JSON 响应。
vext dev — 开发模式
以开发模式启动项目,支持文件监听和智能热重载。
用法
选项
示例
热重载策略
vext dev 提供三层热重载策略,自动选择最优方式:
详见 热重载 章节。
package.json 脚本
vext build — 构建项目
将 TypeScript 源码编译为 JavaScript,生成生产可用的 dist/ 目录。
用法
选项
示例
构建行为
- 使用 esbuild 进行极速编译(TypeScript → JavaScript)
- 输出目录:
dist/ - 保持源码目录结构
- 生成
.js和.d.ts文件
package.json 脚本
vext dev:直接从src/加载.ts文件,通过 esbuild 即时编译,支持热重载vext build:将src/编译到dist/,生产模式从dist/加载 :::
vext start — 生产模式启动
以生产模式启动项目。从 dist/ 目录加载编译后的代码,需要先执行 vext build。
用法
选项
示例
默认命令
当不传任何命令时,vext 默认执行 start:
Cluster 模式
如果配置中启用了 cluster,vext start 会自动进入 Cluster 模式,由 Master 进程管理多个 Worker 进程:
或通过环境变量启用:
package.json 脚本
vext stop — 停止服务
停止正在运行的 Cluster 模式服务。通过读取 PID 文件发送停止信号。
用法
选项
示例
:::info
vext stop 仅在 Cluster 模式下可用。单进程模式下直接使用 Ctrl+C 或发送 SIGTERM 信号即可优雅关闭。
vext reload — 滚动重启
触发 Cluster 模式的零停机滚动重启(Rolling Restart)。逐个重启 Worker 进程,确保服务始终可用。
用法
选项
示例
滚动重启流程
代码更新后执行 vext build + vext reload,无需停机即可完成版本更新。适合需要高可用性的生产环境。
vext status — 查看运行状态
查看 Cluster 模式下的服务运行状态,包括 Master 进程和各 Worker 进程的信息。
用法
选项
示例
输出示例
全局选项
所有命令都支持以下全局选项:
推荐的 package.json 脚本
常见问题
vext start 报错 "dist/ not found"
需要先执行 vext build 编译 TypeScript 代码。vext start 从 dist/ 加载编译后的 JavaScript 文件。
开发时应该用 vext dev 还是 vext start?
日常开发使用 vext dev,它直接加载 src/ 下的 TypeScript 文件,支持热重载,无需手动编译。vext start 用于生产环境。
如何指定 Node.js 版本?
VextJS 要求 Node.js >= 18.0.0。推荐在项目根目录创建 .node-version 或 .nvmrc 文件指定版本:
vext stop / vext reload / vext status 不工作?
这三个命令仅在 Cluster 模式下可用。确保配置中启用了 cluster.enabled: true 或使用了 VEXT_CLUSTER=1 环境变量,且服务通过 vext start 启动。
下一步
- 了解 热重载 的三层策略细节
- 学习 Cluster 多进程 的完整配置
- 查看 配置 中端口、日志等选项
- 探索 项目结构 的约定