node.js - 向 Node 模块扩展或添加功能

标签 node.js

我想为我的项目需求添加一些方法到异步包中。我不想更改 aync 的 js 文件。如何扩展Node的一个模块来增加更多的功能?

当我做 require('myasync') 时,我想要'async'模块的所有功能以及我添加的功能。

最佳答案

完成此操作的步骤是:

  • 获取模块的预定义功能作为您自己的变量
  • 修改、删除和/或向变量添加更多功能(通过 Javascript 的函数范式)
  • 将变量重新导出为您自己的变量,这允许您要求它(作为 NPM 模块或作为文件模块)。

首先,我们需要异步。

var newModule = require('async');

现在我们已经检索到模块async,我们可以附加我们自己的函数。

newModule.betterParallel = function(myParameters) { ... };

我们不仅可以添加我们自己的功能,我们甚至可以从模块中删除 - 因为它现在是我们自己的。

delete newModule['series'];

完成后,我们需要重新导出新模块。

module.exports = newModule;

如果你想将它作为你自己的模块发布到 NPM,你可以使用 npm publish。如果你不想,你可以简单地require这个文件 - 现在它包含你修改过的更改。

关于node.js - 向 Node 模块扩展或添加功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517744/

相关文章:

node.js - 使用公共(public)访问 api key 的 Analytics API 出现 401 错误

javascript - Node ,SSH2服务器等待输入

javascript - 'gulp-jade' 无法正常工作或无法将 jade 编译为 html

node.js - 在 Loopback 中设置访问 token cookie?

javascript - Node.js,等待所有 Redis 查询完成后再继续执行

javascript - 通过 JSON.stringify() 将数组传递到服务器并得到奇怪的结果

javascript - 监视目录中的新文件时 CPU 使用率较高

javascript - 即使不满足 MySQL "where"子句,它也会返回一行

javascript - 托管多个 Node.JS 应用程序,使用代理服务器识别子域

javascript - fast-xml-parser 解析数组不正确