AI + 低代码 技术揭秘(十三):CLI 和构建系统

本文档介绍了支持 VTJ 开发和部署的命令行界面工具、构建过程和项目基架系统。它解释了开发人员如何通过 CLI 命令与 VTJ 交互,monorepo 构建系统如何工作,以及如何创建和配置新项目。

有关核心引擎体系结构的信息,请参阅核心体系结构 。有关多平台部署的详细信息,请参阅平台实现

CLI 包体系结构

VTJ CLI 作为 @vtj/cli 软件包实现,该软件包用作整个 VTJ 生态系统的中央构建工具。CLI 提供了全面的构建功能,包括 Vite 配置、TypeScript 编译、测试实用程序和开发服务器管理。

CLI 包结构

CLI 包通过 vtj 二进制命令公开其功能,主要实现使用 unbuild 构建以实现最佳 Node.js 兼容性。

Monorepo 构建系统

VTJ 使用由 Lerna 和 PNPM 管理的复杂 monorepo 结构,支持跨所有软件包的协调开发和同步发布。

构建系统组件

构建系统确保所有软件包保持版本同步,目前整个 monorepo 的版本为 0.12.40。

项目脚手架系统

create-vtj 软件包提供项目基架功能,允许开发人员使用预配置的模板快速引导新的 VTJ 项目。

脚手架架构

基架系统支持多种项目类型,每种类型都配置了适用于其目标平台的适当依赖项和构建配置。

开发工作流程脚本

根 package.json 定义了一组全面的 npm 脚本,用于编排整个 VTJ 生态系统中的开发、构建和部署工作流程。

开发脚本

脚本类别 脚本示例 目的
开发服务器 dev, pro:dev, app:dev 启动不同平台的开发服务器
构建命令 build, pro:build, web:build 构建生产分发
测试 test, cli:test, coverage 运行测试套件并生成覆盖率报告
包管理 setup, clean, reset 管理依赖项和工作区状态
出版 patch, minor, prerelease 版本管理和包发布

构建管道流

构建管道可确保 monorepo 中所有软件包之间的协调构建和同步发布。

构建目标和平台支持

VTJ 支持多个构建目标和部署平台,每个平台都有特定的构建配置和输出格式。

平台构建矩阵

平台 构建工具 输出格式 目标环境
Web @vtj/web Vite ES 模块 + UMD 现代浏览器
H5 移动版 @vtj/h5 Vite ES 模块 移动网页
Uni-App @vtj/uni-app Uni-App CLI Multiple iOS/Android/小程序
专业的 @vtj/pro Vite 企业平台
组件库 @vtj/ui unbuild ES 模块 + CJS 库分发

构建配置管理

检测和质量保证

构建系统使用 Vitest 作为主要测试运行程序,集成了全面的测试功能,并支持覆盖率报告和持续集成。

测试基础设施

元件 工具 目的
测试运行程序 vitest@~3.1.2 单元和集成测试
覆盖 @vitest/coverage-v8 代码覆盖率分析
浏览器测试 jsdom@~26.1.0 Vue 组件的 DOM 模拟
Vue 测试 @vue/test-utils@~2.4.5 Vue 组件测试工具

CLI 软件包提供统一的测试配置,这些配置可以被 monorepo 中的所有软件包继承,从而确保整个 VTJ 生态系统的测试实践一致。

源码仓库

gitee.com/newgateway/...

相关推荐
Jooolin2 小时前
Ubuntu?Centos?还是 redhat?Linux 系统选哪个?
linux·ubuntu·ai编程
qiyue775 小时前
【AI编程工具IDE/CLI/插件专栏】- 国外AI原生IDE与Cursor能力对比
人工智能·ai编程·cursor
Jooolin5 小时前
【Linux】指令大全!常用的都在这了~
linux·操作系统·ai编程
handsomestWei9 小时前
Cursor Java开发配置
java·ai编程·环境配置·cursor
谦行10 小时前
Claude Code 官方最佳实践
ai编程·claude
人生都在赌10 小时前
智能测试工作流实战案例——4个AI Agent协作重塑软件测试流程
agent·ai编程·测试
Demonslzh10 小时前
基于Langchain和DeepSeek的AI Agent记账系统:Fireflyiii-AI-Recorder
后端·agent·ai编程
倔强青铜三11 小时前
GIL竟是Python命中注定的解药?统治AI时代的核心秘密!
人工智能·python·ai编程
倔强青铜三11 小时前
大揭秘!Python类没有真正私有属性的原因
人工智能·python·ai编程
程序员X小鹿1 天前
Claude Code+智谱GLM-4.5接入指南(附实测体验)
ai编程