首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对ts-节点脚本使用monorepo

对ts-节点脚本使用monorepo
EN

Software Engineering用户
提问于 2023-03-15 10:24:25
回答 1查看 98关注 0票数 -1

我有一个用ts节点编写的各种工具/脚本的存储库,并在许多项目中使用。

最初,它包含几个自动化/分析脚本、一个根目录下的package.json文件和一个作为入口点的index.ts文件。

我只是取消了对我需要的函数的一个调用,然后输入npm start。在VS代码中调试也非常容易,为index.ts设置了一个配置。

但是随着时间的推移,代码库已经增长,已经有40个脚本/工具使用不同的API和其他,旧的方法越来越糟糕。

问题:

  • 带有许多导入的不可维护的index.ts,许多注释行
  • 启动时间长(由于所有未使用的导入)

我想要的:

  1. 和以前一样,每个工具都在自己的文件夹中。
  2. 所有工具都在根处使用单个deps/node_模块,就像以前一样
  3. 工具可以使用普通的“库”(另一种工具),没有/最小的摩擦。
  4. 我可以启动指定的(或者在编辑器中打开?)工具,它与npm start一样简单
  5. 我可以使用单个VS代码配置来调试指定的工具。
  6. 我可以添加新的工具,并且没有/最小的摩擦力来将它们注册到monorepo中,运行和调试它们,而不需要创建配置。

我开始研究lerna,nx,npm工作空间,涡轮回购,lage,所有这些似乎都解决了点1-3,而不是点4-6。

我如何组织这个单一的,以实现我上面概述的目标?

EN

回答 1

Software Engineering用户

发布于 2023-03-17 14:03:26

使用monorepo来管理TypeScript (TS)节点脚本可以提供几个好处,包括:

代码共享: monorepo允许您在多个项目之间共享公共代码和库。这可以帮助减少代码重复,并使维护和更新共享代码变得更容易。

一致性:通过允许您在所有项目中强制执行共同的标准和实践,monorepo可以帮助确保代码库中的一致性。

更好的协作:通过将所有项目放在一个地方,团队成员可以更容易地在代码上进行协作并在不同的项目之间进行更改。

要使用monorepo来管理TS节点脚本,可以使用Yarn工作区或Lerna这样的工具来管理包和依赖项。这些工具为管理依赖关系和构建项目提供了一种方便的方法。

下面是设置用于管理TS Node脚本的monorepo的一些步骤:

为您的monorepo创建一个新文件夹,并通过运行npm或纱线init初始化一个新的npm包。

添加一个包文件夹,您可以在其中存储所有TS节点脚本。每个脚本都应该在包文件夹下的自己的文件夹中。

在每个脚本文件夹中,使用适当的依赖项和脚本创建一个package.json文件。

在根package.json文件中,添加workspaces属性并指定到packages文件夹的路径。

通过运行npm安装-保存-开发纱或npm安装

在根package.json文件中设置脚本和依赖项,或者创建一个单独的脚本文件夹来管理它们。

运行纱线安装或lerna引导以安装所有依赖项并将包链接到一起。

现在可以使用根package.json文件或脚本文件夹中定义的脚本运行TS Node脚本。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/444496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档