0

有没有人体验过如何将现有的 NodeJS API 添加到现有的(Angular)Nx Monrepo?

不幸的是,手册对我帮助不大 https://nx.dev/migration/manual

4

1 回答 1

0

将 repo 迁移到 mono repo 的过程需要几个手动步骤。我认为没有更简单的方法可以做到这一点。

假设您的节点项目不与您当前的 monorepo 共享文件,这应该是步骤:

  1. 在您的节点存储库上,创建一个分支“to-monorepo”,并在其中将所有文件移动到与 nx 文件夹结构匹配的文件夹并将提交推送到它。
  2. 删除您的package.json文件(我们稍后会将其与 monorepo 的文件合并)
  3. 一旦文件夹与 nx 文件夹结构匹配,就可以合并到 monorepo 中了。从 monorepo 添加另一个 repo 的远程
git remote add node-repo <your git repo's node url>
  1. 在 monorepo 文件夹中,查看你的 master
  2. 运行 apull以使 node repo 分支在 monorepo 中可用
git pull
  1. 在你的 monorepo 上创建一个新的分支 'merging-node-repo'。

  2. 将分支合并node-repo/to-monorepo到您的merging-node-repo分支中,保留历史记录

git merge node-repo/to-monorepo --allow-unrelated-histories
  1. 推送您的新分支(所有代码及其历史记录现在都将列在这个新分支中)

  2. node-repo从本地 monorepo 配置中删除远程

git remote rm node-repo
  1. 手动将所有节点 repo 的原始package.json文件依赖项合并到 monorepo 的依赖项中,并npm install从 monorepo 运行。这样你的package-lock.json文件就会更新。完成后,创建一个提交并推送它。

  2. 最后一步更棘手。您现在必须手动更新 monorepo 的配置文件以允许 nx 开始管理它。这是您在问题中的链接可能会有所帮助的地方。完成后,创建一个提交并推送它。

通过这些步骤,您可以将您的merging-node-repo分支合并到 master。

我建议你创建一个单独的 nx 工作区,上面有一个 nodejs 项目。这有助于您为所有必要的 nx 配置和依赖项建立基线。您可能想确保您的项目通过这个分离的工作区中的 nx 命令运行;这样,您将有更好的机会获得正确的 monorepo 配置。

希望这能让你开始。

于 2022-02-12T22:16:50.367 回答