安装另一个 angular 项目的本地构建结果包

Install package that result of a local build of another angular project

我正在将我的所有项目从 angular 5 迁移到 angular 6。我有一些项目依赖于其他项目。

我有一个项目,让我们调用依赖于 ProjectBProjectA。我为 ProjectB 构建了一个生成文件夹 dist.

上的一组文件

平时我要测试的时候,都是从ProjectB文件夹中取出dist文件夹中的文件,放在node_modules文件夹下的ProjectA文件夹中。基本上我正在 "manual" 安装包 ProjectB.

这个场景的问题是,当我制作 npm install 时,它会安装最新版本的 ProjectB 并且 ProjectB 的手动安装将会丢失。

对于这种情况,我有哪些选择?

经过一些搜索,我在 this post 上发现您可以 运行 以下命令,npm 将安装本地包构建作为一个包:

npm install /absolute/local/path/to/your/other/package

重要提示:

注意你的package.config,因为你用绝对路径文件夹安装的包,这样安装后会发生变化

利用 angular-cli v6 "Library" 概念。将 ProjectB 作为 Angular 库项目迁移,将 ProjectA 作为常规项目迁移,并将它们一起维护。阅读以下介绍性文章以获得更好的想法:

The Angular Library Series - Creating a Library with the Angular CLI

如果您必须将 A 和 B 作为 2 个独立的存储库进行维护,您可以将 ProjectB 添加为 ProjectA 的 GIT 子模块并将其放入正确的位置。然后将其用作库项目。