这是我的工作空间结构:
- 应用程序
- web-1(下一页)
- web-2(下一页)
- web-3(下一页)
- Package
- pack-1(ui)
- pack-2(react utils)
- pack-3(node utils)
- 服务
- service-1(express)
- service-2(express)
- service-3(express)
- service-4(express)
我希望能够运行“运行开发:网络-1”,或“运行开发:网络-2”或“运行开发:网络-3”,其中始终所有的软件包都是可用的一个或两个服务包括在内
如果我现在运行“yarn dev”,所有东西都会启动,我实际上必须将--concurrency设置为更高的值,我不想这样做。
2条答案
按热度按时间nr9pn0ug1#
为了实现运行Web应用特定开发脚本的预期行为,同时确保所有包可用,并包含一个或两个服务,您可以使用Yarn工作区和脚本管理工具(如npm-run-all)或同时使用。
为此,您需要安装必要的依赖项:
更新根目录下的package.json文件,以包含dev脚本:
json
在各自的apps/web-X和services/service-X目录中,确保yarn dev脚本在各自的package.json文件中正确定义。
现在,您可以运行以下命令:
yarn dev:web-1启动web-1的开发服务器。
yarn dev:web-2启动web-2的开发服务器。
yarn dev:web-3启动web-3的开发服务器。
yarn dev:services用于启动service-1和service-2的开发服务器。
yarn dev:all启动所有开发服务器,包括Web应用程序和选定的服务。
通过分离每个Web应用和服务的特定开发脚本,并使用脚本管理工具,如npm-run-all或并发运行,您可以控制运行不同服务的并发性,并确保所有所需的包可用。
请记住根据特定的项目结构和配置更新脚本和文件路径。
sshcrbum2#
好了,在对文档进行了更长时间的研究之后,我发现
--filter flag
可以在turbo run
命令上设置多次。因此,我的解决方案是将脚本添加到我的主package.json