总结
我正在寻找有关如何将 node_module 的 github-fork 集成到我的项目中的说明,这样我就可以使用我自己修改的模块,而无需触及 node_modules/xyz 中的代码。
详情/例子/原因:
例如,我发现 angular/cdk 拖放非常好,但也有缺陷。所以我需要更改 node_modules/@angular/cdk/esm2015/drag-drop.js 中的代码(我不想这样做)。
但也有阴谋(https://github.com/plotly/angular-plotly.js)。
大多数情况下,就像 cdk/drag-drop 一样,有一个带有源代码的 github 存储库。当然,改变某事。 node_modules 内部非常愚蠢,显然我更喜欢 fork 存储库,然后将我的 fork 链接到 package.json 左右(?!)。
也就是说……
我不知道现在怎么样。
我找不到关于此主题的任何文档或博客。我想我一定是选错了关键字 ??!
我想问什么
有人可以提供一个链接,指向一个页面,该页面详细解释了这个过程,或者至少总结了重要步骤吗?
到目前为止我在想什么......
将存储库相对于我的项目放在哪里,它可以/必须在并行文件夹中吗?
在我的主要项目中,如何链接新的 fork git 模块(它在 package.json 中吗?)
我是否需要在每次更改后单独预编译那个 fork 的 git 模块?哪些命令?或者是否有一个选项,以便我的主模块/项目通过 ng serve watch 编译每个更改以及开发?
最佳答案
在 Angular 项目中使用依赖项的分支有多种选择:
如果您的 fork 仅在本地可用
请查看@Dino's answer .
在 GitHub(或其他 Git 主机)上上传您的分支
- 在您的
package.json
中,像这样导入分支:"dependency": "git+https://github.com/your-username/your-git-repository。 git”
- 您的分支将被添加到
node_modules
目录 - 请注意,您必须将所有更改推送到您的分支中并再次在您的项目中执行
npm i
要详细了解如何将 GitHub 存储库导入为依赖项,另请阅读 the official npm documentation .
在 npm 上上传你的 fork
- sign up在 npm 创建一个帐户
- 转到您的分支目录:
cd fork-directory
- 登录 npm:
npm 登录
- 初始化你的包:
npm init
- 检查您的包名是否还不存在:
https://www.npmjs.com/package/your-package-name
应该返回 404 错误
- 检查您的包名是否还不存在:
- 发布你的包:
npm publish
- 在您的
package.json
中,导入分支:"your-package-name": "package-version"
(package-version
是你的 npm 包的版本号) - 请注意,每次您的 fork 发生更改时,您都必须发布一个包版本号比以前更高的新包版本并执行
npm i
再次在你的项目中
要了解如何发布 npm 包,另请阅读 this blog post和 the official npm documentation .
关于来自 Github 的 Angular 模块,如何集成到我的模块中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606390/