9

我有一个现有的 Durandal 应用程序,它们实际上是两个相互纠缠的应用程序。

我想在 Angular 中重写应用程序并希望区分应用程序的共享通用代码。

我估计大约 80% 的代码可以共享。

如果可能的话,我想使用 angular-cli。但我真的在寻找如何在 Angular 应用程序之间共享代码的最佳实践。

4

1 回答 1

9

查看Minko 关于创建 Angular Libraries 的博客文章。这是因为您希望将 80% 的可重用代码创建为一个或多个可共享的内部库。然后,您可以将这些发布到内部 NPM 存储库。

然后你可以简单地使用 angular-cli 来创建使用这些库的应用程序。

Minko 在上面链接的博客中谈到了两个重点。这些可以确保您的库与 Angular 的 AoT 兼容并且它们是可摇树的。

20202年 11 月 2 日更新

另一种选择是使用 monorepo 模式,您可以将库和应用程序放在同一个存储库中,从而更容易重用代码。

Monorepo 和 microrepo 都有优点和缺点。任何一种模式都需要组织和 CICD 和/或依赖管理工具的支持。

如果您正在考虑 monorepo,请查看Nrwl Nx工具。

于 2017-02-07T17:44:02.640 回答