设置Monorepo支持
“单体存储库”(monorepo) 在单个存储库内包含多个项目或程序包。Vega Studio通过npm和Yarn工作区支持monorepo布局。首选Yarn v2布局,但除了nohoist之外也支持v1。
借助对于monorepo的支持,您可以:
- 打开monorepo程序包
- 将Vega项目导入VS Code或Kiro工作区
- 高效管理多个项目
Monorepo结构支持代码共享,可集中管理依赖项并减少项目设置步骤。
Vega SDK默认包含npm程序包管理器。如果您更喜欢使用Yarn,请参阅设置Yarn工作区。
先决条件
开启或关闭monorepo支持
要开启或关闭monorepo支持,请转到Settings (设置)> Vega > Features: Monorepo(功能:Monorepo),然后选中或清除该复选框。

修改monorepo行为
- 转到Settings > Vega > Features: Monorepo Synchronization(功能:Monorepo同步)。
-
从以下选项中选择:
- Auto(自动)– 当您在VS Code工作区中打开或添加monorepo程序包时,自动检测并在后台导入子程序包。
- Ask for confirmation(要求确认)– 检测子程序包,但在导入之前会征得许可。
注意: 在导入时会安装npm依赖项并导致VS Code工作区重新加载。
了解不同的工作流程
使用monorepo布局程序包时,工作流程在以下方面有所不同:
打开和添加程序包
- 在不使用monorepo程序包的情况下打开工作区–在不干扰工作流程的情况下在后台识别程序包布局。
- 使用monorepo程序包打开工作区 – 识别布局、枚举子程序包、检测Vega项目并将其添加到工作区。此行为取决于您的monorepo同步设置。请参阅修改monorepo行为。
- 向VS Code工作区添加monorepo程序包 – 与使用monorepo程序包打开工作区相同。
- 将Vega项目添加到monorepo – 请参阅将Vega项目添加到monorepo中的说明。
构建
-
构建整个monorepo – 使用VS Code默认构建任务。
Vega Studio不支持构建任务的自动配置。必须人工对其进行配置。在VS Code中,您可以执行以下操作之一:
- 转到Terminal(终端)> Run Build Task(运行构建任务)。
- 按键盘上的Cmd+Shift+B。
- 转到命令面板并输入Tasks: Run Build Task。
查看
- VS Code Explorer视图 – 在monorepo中显示Vega项目,并在VS Code工作区中显示为单独的条目。
- Vega Studio视图 – 正常显示Vega项目。
- 其他工作流程 – 与非monorepo工作区相同。
将Vega项目添加到monorepo
- 使用monorepo的程序包目录中的模板创建一个新的Vega项目。
-
更新JavaScript应用的
package.json中的依赖项:// 将 "@prefix/module-name": "file:...../prefix-module-name-0.0.1.tgz" // 替换为 "@prefix/module-name": "*" -
将
node_modules路径添加到metro.config.js:const path = require('path'); const config = { projectRoot: __dirname, watchFolders: [ path.resolve(__dirname, '../../packages'), path.resolve(__dirname, '../../node_modules') ], resolver: { disableHierarchicalLookup: true, nodeModulesPaths: [ path.resolve(__dirname, 'node_modules'), path.resolve(__dirname, '../../node_modules') ] } }; - 删除不必要的锁定文件和程序包工件(尤其是使用Yarn时的
package-lock.json文件)。 -
对于带有corepack的
Yarn,请在package.json中指定程序包管理器:"packageManager": "yarn@x.y.z"
解决monorepo问题
如果您在Vega Studio中使用monorepo时遇到问题,请参阅解决Monorepo问题以获取解决方案。
后续步骤
相关主题
Last updated: 2026年2月18日

