当前位置: 首页 > 知识库问答 >
问题:

如何编辑通过npm安装的节点模块?

詹唯
2023-03-14

我使用的是node_swiz模块,它反过来使用验证器模块。

我想对验证器模块进行更改,但我使用了npm安装来安装模块/依赖项。

我是否可以只更改node_模块内部的验证程序模块,或者在我发布到heroku或下次运行npm安装时是否会重新创建node_模块依赖项并获取最新版本?

结构如下所示:

myNodeApplication
  - node_modules
     - swiz
         - node_modules
            - validator [this is the library I want to edit]

谢谢你的帮助!

共有3个答案

嵇出野
2023-03-14

我不想发布新模块,也不想npm install覆盖我的更改。我找到了这两个问题的解决方案,但最好还是接受@Sdedelbrock的建议。但如果你想这样做,以下是方法:

  1. 编辑您的package.json文件以删除您想要编辑的依赖项。
  2. 进入项目的/node_modules并将文件夹移动到存储库中可以提交的其他位置。所以现在/node_modules/依赖/依赖
  3. cd进入依赖目录并键入npm link
  4. cd进入项目目录的根目录,然后键入npm链接依赖项重要的是,您要在/node_modules/依赖项
  5. 之外执行此操作

如果一切正常,您现在应该有一个在/node\u modules/dependency中创建的符号链接。现在您可以运行您的项目,看看它是否有效。

邴英毅
2023-03-14

您可以使用修补程序包对节点模块进行更改并保持更改。

这可以通过首先在node_modules中对包进行更改,然后使用运行以下命令来实现

npx patch-package <package name>

然后,补丁包将创建一个patches文件夹,其中包含一个文件,表示您所做的更改。然后可以将该文件提交给git,稍后可以通过运行npx补丁包(不带任何参数)来恢复补丁。

可选步骤:

在package.json的脚本部分添加以下内容,以便在执行“npm install”时自动修补依赖项。

"postinstall": "npx patch-package" 

殳宸
2023-03-14

您可以直接编辑该文件,但每当npm更新时,该文件就会被覆盖,最好直接转到源代码。

如果更改影响了整个模块的功能,并且可能对其他模块有用,那么您可能希望对github上的原始源代码做出贡献,并寻找要实现的更改。

如果这是所需的专有功能,并且无助于模块的开发,那么最好的办法是从github中转出它并进行更改。您可以使用NPM直接从github安装项目,此方法将允许您将将来的更改从原始源代码集成到自定义版本中。

要直接从github安装,请使用以下命令:

npm安装https://github.com/

 类似资料:
  • 问题内容: 我正在使用node_swiz模块,而后者又使用了验证器模块。 我想对验证器模块进行更改,但是我使用npm install来安装模块/依赖项。 我可以只在node_modules内部更改验证器模块,还是在发布到heroku或下次运行npm install时重新创建node_modules依赖关系并获得最新版本? 结构如下: 谢谢您的帮助! 问题答案: 您可以直接编辑文件,但是每当npm更

  • 提示:npm 是 nodejs 包管理工具,可以方便的管理和使用 nodejs 包,如果你暂时没有用到,可以跳过本文。 我们提供的 Highcharts npm 包,包含了 Highcharts、Highstock、Highmaps 及所有的功能模块,通过下面的命令即可完成安装 npm install highcharts --save 1. 加载  Highcharts var Highcha

  • 问题:所以我用这个npm包react qr扫描仪扫描我PWA中的qr码。现在这是一个基于react的包。react组件(只是一个示例)如下所示: 好的,上面显示的“部分”具有从videoPreviewStyle对象应用的元素级css样式。现在我想做的是定制这个部分。现在,我认为唯一的方法是实际更改npm安装文件(在node_modules文件夹中)。我试过了,但没有成功(我不知道为什么,所以如果你

  • 我有一个问题时运行命令"npm安装"。我想安装大口和鲍尔模块,但当我运行"npm安装"或"npm安装鲍尔"我得到了一个错误VS2013.我为什么会有这个错误?如何解决这个问题?以下是我安装的指定版本: 节点v10.15 npm v6.10.3 python v2.7 VSCODE v1.37.1(用户设置) 我已经添加代理配置: npm配置设置https代理超文本传输协议://xxxxx npm配

  • 我想通过节点JS连接oracle db。为此,我尝试安装node-oracledb模块。 npm错误!此运行的完整日志可以在以下位置找到:npm err! C:\users\appdata\roaming\npm-cache_logs\2019-04-09t06_36_44_005z-debug.log 我不明白为什么需要python依赖关系才能与oracle DB连接?又该怎么做呢?

  • 这是我尝试安装包时得到的错误: 所有其他软件包,包括install-fine。我发现有一些人有类似的问题,但他们的解决方案都不起作用。根据这个答案的建议,我尝试了以下方法: 他们不得不采取行动。谢谢你抽出时间!