如何重写模块函数'
How to override Module Function's Implementation
我有以下模块:
car.js
module.exports = {
gateway: function(gateway){
_gateway = gateway
},
find: function *(carRequest){
var cars = _gateway.find(carRequest.id).next().value;
carResponse.cars = cars;
yield countryResponse;
}
};
我需要能够嘲笑这个。我希望能够重写find(id)的实现。由于这不是一种类型语言,我如何在Node和JS中做到这一点?
使用下面的代码可以轻松完成您想要的内容。
假设模块名为car
var car = require('car');
car.find = function(carRequest) {
console.log('hello');
return false;
}
car.find();//this will print 'hello'
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 未定义不是函数:模块导出
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- Nodejs模块函数返回未定义的,而不是异步的
- 如何在节点模块中从命令行运行函数
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- 如何在新创建的模块中从Odoo v8中的Javascript文件中调用python函数
- 为什么模块化幂函数在 Python 和 Javascript 中对于大数字的工作方式不同
- 节点模块对象范围:在所有函数之间共享一个对象
- 从公共方法调用模块的私有函数
- 从模块函数返回未定义的对象
- 传递参数时如何避免模块模式中的 getter/setter 函数
- 如何使用默认函数导出为 commonjs 模块创建类型
- 从脚本标记的全局范围调用webpack模块中的函数
- 如何从另一个模块调用函数
- AngularJs:无法调用由子模块中的指令链接的函数
- 针对浏览器和NodeJS的单个函数模块的语法
- 维护'这'在构造函数模块内
- 一个函数模块的Typescript定义,它有命名空间
- 如何让WebStorm解析函数模块