【问题标题】:How do you modify an npm library you are using in your project?如何修改项目中使用的 npm 库?
【发布时间】:2018-06-06 20:33:12
【问题描述】:

我在我的 Angular 项目中使用 ng-bootstrap

问题在于 ng-bootstrap 仍处于早期阶段并且缺少很多功能。我在 node_modules/@ng-bootstrap 目录的代码中添加了一个简单的功能。

问题是我担心如果/当有对ng-bootstrap 的更新并且我用它更新我的项目时,我对功能的本地更改将被覆盖并丢失。

有什么技巧可以解决这个问题?

【问题讨论】:

    标签: npm open-source updates npm-install package.json


    【解决方案1】:

    您实际上只是创建了自己的那个包的“分支”。如果该功能应该适用于每个人,您可以提交拉取请求。由于您有自定义更改,因此您有责任确保更新不会覆盖它们。

    如果我需要这样的事情,我会看看是否有一种方法可以在不修改 ng-bootstrap 文件本身的情况下实现更改。在不知道变化是什么的情况下,我不能说这是如何实现的。一种选择是不为该框架使用包管理器,或者让包管理器获取“官方”文件,然后将它们复制到您实际使用的其他地方。您仍然有责任确保在框架更新时合并更改,但至少它不会被自动覆盖。

    【讨论】:

    • 有什么方法可以从我修改的目录中发出拉取请求吗?看来我需要克隆实际的 GitHub 存储库并在那里重新进行更改,这会很不方便
    • 您可以尝试将 repo(来自 github.com/ng-bootstrap/ng-bootstrap ?)克隆到新目录中,然后将修改后的文件复制到顶部以获取更改。或者您可以生成差异并在新克隆的工作区中进行这些更改。编辑:如果您要在顶部复制文件以获取更改,请非常小心地检查更改,因为您不想破坏其他内容。
    猜你喜欢
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2012-06-23
    • 2021-09-04
    • 2015-12-29
    • 2021-07-04
    相关资源
    最近更新 更多