使用NPM和GIT的Angular包:repo中的dist文件夹?

时间:2018-02-13 10:43:30

标签: angular git npm npm-install angular-module

我想要实现的目标:

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

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

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

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

我的问题是:

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

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

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

  3. 我知道必须有某种更好的解决方案。我读了很多文章,但我一无所获。

    有人能建议一个好的解决方案吗?或者我应该选择第二个?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以在 npm 注册表中使用不同的范围推送它。

相关问题