【问题标题】:Changes in library (React-Native)库中的更改(React-Native)
【发布时间】:2017-09-04 10:11:06
【问题描述】:

我的应用程序使用一个 npm 包(比如 x 包)。 我对 x 包的一个文件做了一些改动。

所以现在我需要手动将该文件发送给其他开发人员,以便他们可以替换 X 包的文件。 即每次在新系统上执行 npm install X 包时,他们都需要替换该文件。

我试图联系那个 npm X 包的开发者并创建了拉取请求,但到目前为止没有运气。

查询: 所以我需要围绕 X 包或任何其他解决方法创建我的一个模块。请提出建议。

【问题讨论】:

  • 假设您正在为您的项目使用某种源代码控制,您可以在提交中包含更改的文件吗?用适当的消息通知团队
  • 如果 x 包只依赖 JS 文件,那么您可以从 node_modules/x_package 文件夹中复制这些 JS 文件并复制到您的项目 src 代码文件夹中,然后从您复制的那些文件中导入组件,以及您可以在这些文件中进行更改。
  • 您应该通过在 github 上克隆它并直接在 package.json 中更改链接后的一些文件来创建自己的模块,以便每次 npm install 完成时都不会更改任何内容。并查看此链接以安装它stackoverflow.com/questions/17509669/…
  • @Paras 谢谢你的建议。
  • @Waqas 谢谢你的建议。我认为你应该添加这个答案。

标签: react-native npm


【解决方案1】:

在这种情况下,如果您发出了拉取请求,那么您已经拥有包的 repo 的一个分支,因此您有几个选择。如果你不确定为什么你的 PR 没有被接受,那么可能值得一试,因为这对你来说工作量最少。您的选择:

  1. 有一些补丁管理包,比如patch-package,专门用来处理这种情况,YMMV 取决于你的构建链

  2. 您可以只将您的版本发布到 npm,使用表明它是包的变体的名称,并管理它直到您的 PR 被接受。如果你有一个私人包管理器,这可能是最简单的。

  3. 让您的合作者使用您 fork 的软件包版本(作为源代码签出),并使用 yalc 之类的东西在本地安装它,直到您的 PR 被接受。您可以为此使用 npm link,但 yarn 不能很好地处理链接

【讨论】:

  • 感谢@Nick 的解决方案。这很有帮助。
【解决方案2】:

您应该通过在 github 上克隆它来创建自己的模块并更改您想要的文件并提交它们。之后直接在 package.json 中链接该存储库,以便每次 npm install 完成时都不会更改任何内容。按照这个链接到 package.json How to install an npm package from GitHub directly?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2016-07-07
    • 2019-01-03
    相关资源
    最近更新 更多