在节点模块文件夹中编辑react npm模块的代码

2024-06-25

是否可以更改 module 文件夹中 npm 模块的代码?我认为这不是推荐的做法,还有其他方法可以实现这一目标吗?目前,我尝试更改模块目录中的代码,但更改似乎并不适用。提前致谢。


当然你可以改变包的内容node_modules因为它是标准化格式。但是,您不应该这样做,因为您应该提交更改并重新分发它们。

不幸的是,解决这个问题的方法并不简单,这是我过去一直在努力解决的问题。

npm link

第一种方法是在本地克隆存储库并使用npm link在您的项目中使用它。

npm link ../path/to/my/proj

这种方法的缺点是您仍然需要手动下载存储库才能使用它并且npm link制作您的链接版本the在您的系统上全局使用的包可能会产生意想不到的副作用。话虽如此,npm link如果您想在本地测试对包的更改并将其贡献给上游,这可能是最好的方法。

使用分叉的 git 存储库

您还可以通过执行以下操作直接从分叉的 git 存储库安装它:

npm install --save $GIT_REPO_URL

但使用这种方法,您需要拥有访问 git 存储库的凭据,因此当您处理私有存储库等时,特别是在处理 CI 环境时,会产生额外的复杂性。另外,您应该包含一个提交,以便您可以获得可重复的构建 - 不过,在不使用 npm 链接的情况下开发它有点痛苦。您可以查阅 npm 文档以了解其他安装选项或更多具体信息 https://docs.npmjs.com/cli/install. 如果您不必担心这些事情,那么这是一个非常好的方法。

本地 npm 模块

完成更改后,您还可以将分叉版本安装到您​​的项目中,如下所示:

npm install --save ../path/to/my/proj

但是,然后,您可以通过 git 子模块、git 子树或使用 monorepo 等方式有效地将其他 NPM 项目作为您项目的一部分。对于团队来说,这可能是一个好方法,但对于您想要做的事情来说可能有点过分了,而且您需要考虑很多工具才能使其成为一个好方法。

发布您自己的 npm 模块

不幸的是,所有先前的方法都假设这些包要么没有构建过程,要么使用类似的东西自动构建npm 的安装后脚本 https://docs.npmjs.com/misc/scripts。然而,一些 npm 模块是通过发布特定的构建目录来编写的,这使得 npm 上的内容与源代码有很大不同。

在这些情况下,您需要将构建发布到 npm 可以安装的位置。这包括诸如公共场所之类的事情范围包 https://docs.npmjs.com/getting-started/scoped-packages、私有 npm 存储库,或将您的 npm 模块发布到个人工件服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在节点模块文件夹中编辑react npm模块的代码 的相关文章

随机推荐

  • “==”对象相等的标准定义是什么?

    There seems与普遍理解之间的不匹配 以及它的实际作用 给出这个问题的一些背景 typeof new Number 1 returns object typeof new String 1 returns object typeof
  • 如何非递归地捕获 ImportError?

    假设我们要导入一个名为user py 这可能会失败 try import user except ImportError logging info No user script loaded 我们怎样才能确保只捕获可能的导入失败user p
  • JavaScript 无法在 HTML 文件中运行

    我已阅读有关此主题的可用链接 但它们没有帮助 我正在尝试运行以下代码 menu html 在另一个页面的 div 中加载 world html 并且显示 HTML 但不显示 JavaScript 起初 我将 JS 放在一个单独的文件中 但当
  • std::function<> 和标准函数指针之间的区别? [复制]

    这个问题在这里已经有答案了 std function 和标准函数指针有什么区别 that is typedef std function
  • Python Tkinter Tk 支持清单框吗?

    我正在尝试在 GUI 中创建清单框 可以做 Tkinter 吗 我不想要复选框列表 我知道 Python Wx GUI 开发有这种支持 但我正在寻找 Tk 中的支持 如果有人有想法 请分享详细信息或方法的链接 Tkinter 没有像 wxP
  • 回发在 Firefox 中对 asp.net(C#) 页面不起作用

    我的 mozilla 火狐浏览器有问题 我正在使用 ASP NET 语言开发一个网站 并且在表单中有一个按钮 当我单击 onclick 属性上的按钮时 我正在调用一个函数 并且该函数执行回发 此场景适用于 Chrome 和 Internet
  • python 从字符串创建对象

    我有下一个情况 以下方法的目标是返回从传入字符串创建的对象 所以我有 class Situation Generator pass 以及父类中的方法 class Generator object def createsituation se
  • psql 的备用输出格式显示每行一列以及列名

    我在 Ubuntu 上使用 PostgreSQL 8 4 我有一个带有列的表格c1通过cN 这些列足够宽 选择所有列会导致一行查询结果多次换行 因此 输出很难阅读 当查询结果仅包含几行时 如果我可以查看查询结果 使得每行的每一列都位于单独的
  • 更改 sqlite 中列中的值

    我需要更新某个表中的列中的值 我试过这个 public void updateOneColumn String TABLE NAME String Column String rowId String ColumnName String n
  • 从元组/数组值派生联合类型

    假设我有一个数组 const list a b c 是否可以从这个值联合类型派生出 a b c 我想要这个是因为我想定义只允许来自静态数组的值的类型 并且还需要在运行时枚举这些值 所以我使用 array 如何使用索引对象实现它的示例 con
  • Tomcat垃圾收集频率

    我是 Java 新手 刚刚继承了 Tomcat 设置 所以我需要一些指导 上周我读到的有关 JVM 调优和垃圾收集算法的内容超出了我的预期 使用 Visual VM GC 我们的 Tomcat 服务器每天执行的完整 GC 次数少于一次 考虑
  • Celery:与正在运行的任务交互/通信

    一个相关的 尽管不相同 问题出现在这里 与 celery 正在进行的任务交互 https stackoverflow com questions 30481996 interact with celery ongoing task 启动任务
  • sprintf 与 String.Format 的性能[重复]

    这个问题在这里已经有答案了 我正在比较 sprintf 用法的性能 并对我所看到的感到有点困扰 我测试了以下 4 个方法 将 ClassWithToString 的实例传递给每个方法 PrintInt 除外 它接收实际的整数值 type C
  • 来自heroku的https请求

    我想通过 https 协议从 vk com api 获取数据 像这样 var https require https https get https api vk com method users get access token glob
  • Jenkins 无法访问 java : localhost jenkins[807]: 启动 Jenkins bash: /usr/bin/java: 权限被拒绝

    我已经在centos 7上安装并配置了jenkins 我已经添加了有效的java路径即文件中的 usr bin java etc init d jenkins 以下是 java 路径详细信息 lrwxrwxrwx 1 root root 2
  • 未知类型名称“ssize_t”[重复]

    这个问题在这里已经有答案了 我目前遇到错误 未知类型名称 ssize t 我看了一下Linux中ssize t在哪里定义的 https stackoverflow com questions 55190317 where is ssize
  • 如何合并多个版本的gcda文件?

    我正在使用 gcov 来获取我的应用程序的覆盖范围信息 但是 我的应用程序有 3 个实例同时运行 创建了 3 个版本的 gcda 文件 有没有办法在我的覆盖信息文件中合并相同 gcda 文件的不同版本 我只想将覆盖范围信息作为一个实例 我刚
  • Java 扫描器有NextLine NoSuchElementException?

    我正在尝试逐行读取一个大型 csv 文件 以查找其中字符串出现的次数 这是执行此操作的代码 public int getOffset File file String searched throws FileNotFoundExceptio
  • 错误:没有编译器提供程序! DI 异常 Angular 2 测试

    使用 npm test 命令执行时 给定的单元测试会抛出错误 它表示存在 DI 异常 并显示错误消息 错误 没有编译器提供程序 import TestComponentBuilder from angular compiler testin
  • 在节点模块文件夹中编辑react npm模块的代码

    是否可以更改 module 文件夹中 npm 模块的代码 我认为这不是推荐的做法 还有其他方法可以实现这一目标吗 目前 我尝试更改模块目录中的代码 但更改似乎并不适用 提前致谢 当然你可以改变包的内容node modules因为它是标准化格