Node.js 如何覆盖模块的函数
覆盖 意味着不改变任何对象或模块的原始定义,而是改变其在当前情景(导入或继承的地方)下的行为。为了实现覆盖,我们将覆盖Node.js内置模块 url 的函数。让我们来看一下覆盖模块的步骤:
- 首先, require 我们想要覆盖的模块。
- 然后删除我们想要覆盖的模块的功能。在这里,我们将覆盖“链接”模块的format()函数
- 现在添加一个与同名的函数’format’来为模块的format()函数提供一个新的定义。
- 现在重新导出‘url’模块,以使更改生效
让我们逐步实现完整的工作代码:
步骤1: 创建一个名为“ app.js ”的文件,并使用 npm 初始化项目。
项目结构将如下所示:
步骤2: 现在让我们来编写“ app.js ”文件。在这个文件中,我们按照上面提到的所有步骤来覆盖一个模块。完成这些步骤后,你将成功 覆盖 了‘url’模块的 format() 函数。在下面的完整工作代码中,你可以找到在覆盖之前和之后 format() 函数的行为。
app.js
步骤3: 使用以下命令运行你的节点应用程序。
输出: