我已经创建了一个Angular模块,我想从我的GIT仓库中npm install
它(我不想在其他项目中使用npm publish
,因为它是私有代码)。 / p>
我正在使用ng-packagr
(https://github.com/dherges/ng-packagr)来获取Angular包格式。这会为新创建的包创建一个dist
文件夹。
这就是我用GIT安装mypackage的方法,例如:
npm install https://SOMETHING/SOMETHING.git#v0.1.0
我的问题是我尝试了这两件事,但我认为它们都是丑陋或糟糕的:
我将所有内容推送到我的GIT仓库(我从dist
删除了.gitignore
),但在npm install
和npm start
后我得到一个模块找不到错误。我认为这甚至不起作用,因为包在子文件夹dist
中(我从node_modules/mypackage/dist
导入我的模块)。另一个问题是,当我安装软件包时,我的源文件也存在,这不是最好的。
我只将dist
文件夹推送到GIT仓库。然后我可以在另一个项目中轻松安装它,它可以工作,没有错误。但我的问题是我应该把我的代码推到其他地方。有了这个,我必须有2个GIT回购。一个用于我的实际代码,另一个用于包(dist
文件夹)。
我知道必须有某种更好的解决方案。我读了很多文章,但我一无所获。
有人能建议一个好的解决方案吗?或者我应该选择第二个?
答案 0 :(得分:0)
恐怕如果您真的想从git存储库安装它,则必须有2个存储库。 我最近不得不迁移一个类似的项目,我们使用了私有npm注册表。想法是将您自己的软件包托管到您的私有npm注册表中,以便只有具有正确凭据的用户才能安装您的软件包。我们使用Azure artifacts是因为用户已经在使用Azure,但是AFAIK具有一些免费层并且非常容易设置。
答案 1 :(得分:0)
您可以在 npm 注册表中使用不同的范围推送它。