我想要达到的目标:
我创建了一个 Angular 模块,我想要 npm install
它来自我的 GIT 存储库(我不想使用 npm publish
,因为它是私有(private)代码)在其他项目中。
我正在使用 ng-packagr
( https://github.com/dherges/ng-packagr ) 获取 Angular 包格式。这将创建一个 dist
文件夹到新创建的包。
这就是我使用 GIT 安装 mypackage 的方式,例如:
npm install https://SOMETHING/SOMETHING.git#v0.1.0
我的问题是:
我的问题是我已经尝试了这两件事,但它们都是丑陋或坏的,我认为:
dist
中删除了 .gitignore
),但在 npm install
之后和 npm start
我得到一个模块找不到错误。我认为这甚至行不通,因为包位于子文件夹 dist
中(我从 node_modules/mypackage/dist
导入我的模块)。另一个问题是,当我安装软件包时,我的源文件也在那里,这不是最好的。 dist
文件夹到 GIT 存储库。然后我可以很容易地在另一个项目中安装它,它可以工作,没有错误。但我的问题是我也应该将我的代码推送到其他地方。有了这个,我必须有 2 个 GIT 存储库。一个用于我的实际代码,一个用于包(dist
文件夹)。 我知道必须有某种更好的解决方案。我阅读了很多文章,但我一无所获。
谁能为此提出一个好的解决方案?还是我应该选择第二个?
最佳答案
恐怕如果你真的想从 git 存储库安装它,你必须有 2 个存储库。
我最近不得不迁移一个类似的项目,我们使用了 私有(private) npm 注册表 .这个想法是将你自己的包托管到你的私有(private) npm 注册表中,这样只有拥有正确凭据的用户才能安装你的包。我们使用了Azure artifacts因为用户已经在使用 Azure,但是 AFAIK 它有一些免费层并且非常容易设置。
关于带有 NPM 和 GIT : dist folder in the repo? 的 Angular 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48764885/