Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改nodejs中其他模块的代码_Javascript_Node.js - Fatal编程技术网

Javascript 如何更改nodejs中其他模块的代码

Javascript 如何更改nodejs中其他模块的代码,javascript,node.js,Javascript,Node.js,例如,我在node_模块中安装了一个模块。如果我更改了该模块,更新节点\模块将更新所有模块。通常的做法是什么首先,我们将其称为包而不是模块,为什么?因为当你使用这个词时,谷歌上的搜索结果要准确得多 其次,要更新特定的包,请使用npm update{package name} 第三,您不更改其他软件包的代码,您只能安装、更新或删除该软件包。有这个选项可以覆盖它,但只有当包所有者允许覆盖时才有可能 使现代化 由于下面的讨论,我决定更新我的答案 由于我认为您是一名初学者,并且不完全确定如何更新代码或覆

例如,我在node_模块中安装了一个模块。如果我更改了该模块,更新节点\模块将更新所有模块。通常的做法是什么首先,我们将其称为包而不是模块,为什么?因为当你使用这个词时,谷歌上的搜索结果要准确得多

其次,要更新特定的包,请使用npm update{package name}

第三,您不更改其他软件包的代码,您只能安装、更新或删除该软件包。有这个选项可以覆盖它,但只有当包所有者允许覆盖时才有可能

使现代化 由于下面的讨论,我决定更新我的答案

由于我认为您是一名初学者,并且不完全确定如何更新代码或覆盖包代码,或者即使更改包代码是个好主意,我也给了您一个不清楚的答案

另一个答案是告诉你使用补丁包 那么我来告诉你,你可以用叉子叉那个包裹。并从您的fork安装该软件包

首先,我们称它为包而不是模块,为什么?因为当你使用这个词时,谷歌上的搜索结果要准确得多

其次,要更新特定的包,请使用npm update{package name}

第三,您不更改其他软件包的代码,您只能安装、更新或删除该软件包。有这个选项可以覆盖它,但只有当包所有者允许覆盖时才有可能

使现代化 由于下面的讨论,我决定更新我的答案

由于我认为您是一名初学者,并且不完全确定如何更新代码或覆盖包代码,或者即使更改包代码是个好主意,我也给了您一个不清楚的答案

另一个答案是告诉你使用补丁包 那么我来告诉你,你可以用叉子叉那个包裹。并从您的fork安装该软件包

调查 总之,安装该软件包并将postinstall脚本添加到package.json文件中,该文件调用修补程序包:

脚本:{ 安装后:修补程序包 } 直接在/node_模块中修改包,然后对刚修改的包调用补丁包:

npx补丁包 这将创建一个名为/patches的本地目录,其中包含该包的diff或patch文件。在您的repo中提交该文件夹

现在,无论何时运行npm安装,postinstall脚本都将运行并应用您提交给该包的/补丁 总之,安装该软件包并将postinstall脚本添加到package.json文件中,该文件调用修补程序包:

脚本:{ 安装后:修补程序包 } 直接在/node_模块中修改包,然后对刚修改的包调用补丁包:

npx补丁包 这将创建一个名为/patches的本地目录,其中包含该包的diff或patch文件。在您的repo中提交该文件夹


现在,无论何时运行npm install,postinstall脚本都将运行并应用您提交给该软件包的/修补程序。如果不正确,则会出现更新挂起的情况,您可能需要紧急修复。在这种情况下,可以使用补丁包。我想知道这是否是惯例。。我修改包的方法是分叉包。。更新代码。。然后用那个叉子安装软件包。。优点是易于更新、修改和更换。我的项目中不需要本地副本。为每个更改创建一个fork是不现实的。有时,当您只需要一个小的修改或更改时,这是一个乏味的过程。这正是因为类库补丁包的出现。以github中的这个问题为例,我们很多人都使用补丁包来快速解决问题,直到修复可用。那么,如果你真的希望这成为惯例,那么至少可以让他们知道他们的行为的后果。这不是惯例。这实际上取决于用例是什么。我们不能把所有的东西都放在一个括号里,然后说,它只能是叉子或补丁。我确信我们都有不同的用例。如果它对他们来说没有任何问题,那么为什么不呢。不正确,有些情况下更新挂起,您可能需要紧急修复。在这种情况下,可以使用补丁包。我想知道这是否是惯例。。我修改包的方法是分叉包。。更新代码。。然后用那个叉子安装软件包。。优点是易于更新、修改和更换。我的项目中不需要本地副本。为每个更改创建一个fork是不现实的。有时,当您只需要一个小的修改或更改时,这是一个乏味的过程。这正是因为类库补丁包的出现。以github中的这个问题为例,有很多
美国使用补丁包快速解决问题,直到修复可用。那么,如果你真的希望这成为惯例,那么也许至少让他们知道他们行动的后果。这不是惯例。这实际上取决于用例是什么。我们不能把所有的东西都放在一个括号里,然后说,它只能是叉子或补丁。我确信我们都有不同的用例。如果它对他们来说没有任何问题,那么为什么不呢。使用补丁包使用补丁包另一种情况是。我使用webpack打包软件包。但这些包通常是分发的。如果是的话。我是否只需要分叉该存储库就可以进行更改?另一种情况是。我使用webpack打包软件包。但这些包通常是分发的。如果是的话。我是否只需要使用该存储库就可以进行更改?