带有NPM和GIT的角软件包:仓库中的dist文件夹?

问题描述 投票:9回答:1

我想要实现的目标:

我创建了一个Angular模块,我想在其他项目中从我的GIT存储库中将其npm install(我不想使用npm publish,因为它是私有代码)。

我正在使用ng-packagrhttps://github.com/dherges/ng-packagr)获得Angular封装格式。这将为新创建的包创建一个dist文件夹。

例如,这就是我使用GIT安装mypackage的方式:

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

我的问题是:

我的问题是我已经尝试了这两件事,但是我认为它们都很丑或很糟糕:

  1. 我将everything推送到我的GIT存储库(我从dist中删除了.gitignore),但是在npm installnpm start之后,我得到了一个模块找不到错误。我认为这甚至都不起作用,因为程序包位于子文件夹dist中(我从node_modules/mypackage/dist导入了模块)。另一个问题是,当我安装该软件包时,我的源文件也在那里,那不是最好的。

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

我知道必须有某种更好的解决方案。我读了很多文章,但什么都没发现。

有人可以为此建议一个好的解决方案吗?还是我应该选择第二个?

angular git npm npm-install angular-module
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.