来自 Github 的 Angular 模块,如何集成到我的模块中?

标签 angular angular8

总结

我正在寻找有关如何将 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 postthe official npm documentation .

关于来自 Github 的 Angular 模块,如何集成到我的模块中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606390/

相关文章:

angular - 空订阅 Angular2 中的 valueChanges

angular - 如何在 Angular2 中将数据发布到服务器?

Angular 响应式(Reactive)自定义验证器不起作用

使用 IIS URL 重写重新加载时,Angular 应用程序未加载参数

javascript - Angular Material DatePicker : Month and Day, 排除年份

Angular 8,从另一个组件调用函数时遇到问题

html - 带按钮的 Angular 隐藏

Angular cli 不使用全局 npm 安装

javascript - 在 Angular 8/9 中,我可以确定 app.module.ts 内部的 URL 并在声明模块时使用它吗?

javascript - 如何在 amCharts 上同时显示月份和年份?