Angular包与NPM和GIT:存储库中的dist文件夹?

10

我想要实现的目标:

我创建了一个 Angular 模块,希望能够从我的 GIT 仓库中 npm install(我不想使用 npm publish,因为这是私有代码)在其他项目中使用。

我正在使用 ng-packagr (https://github.com/dherges/ng-packagr) 来获取 Angular 包格式。它会创建一个新的 dist 文件夹以存放所创建的包。

以下是我使用 GIT 安装 mypackage 的方式举例:

npm install https://SOMETHING/SOMETHING.git#v0.1.0

我的问题是:

我的问题是我尝试了这两个方法,但它们都很丑陋或不好,我认为:

  1. 我将全部内容推送到了我的GIT仓库(我从.gitignore中删除了dist),但在执行npm installnpm start之后,我收到了一个模块找不到的错误。我不认为这甚至有效,因为包在子文件夹dist中(我从node_modules/mypackage/dist导入我的模块)。另一个问题是,当我安装包时,我的源文件也在其中,这并不是最好的。

  2. 我只推送了dist文件夹到GIT仓库。然后我可以在另一个项目中轻松安装它,并且它能正常工作,没有错误。但我的问题是,我还应该将代码推送到其他地方。这样我就必须有两个GIT仓库。一个用于我的实际代码,一个用于包(dist文件夹)。

我知道一定有更好的解决方案。我读了很多文章,但什么都没找到。

有人能提供一个好的解决方案吗?或者我应该选择第二种方法?


1
我也遇到了同样的问题。请问有人能提供解决方案吗? - Gagan Jaura
2个回答

0

如果您真的想从git存储库中安装它,恐怕您必须有2个存储库。 我最近不得不迁移一个类似的项目,我们使用了私人npm注册表。这个想法是将您自己的软件包托管到您的私人npm注册表中,以便只有具有正确凭据的用户才能安装您的软件包。 我们使用了Azure Artifact,因为该用户已经在使用Azure,但据我所知,它有一些免费层级,并且非常容易设置。


0

你可以在你的npm注册表上使用不同的范围来推送它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接