出于测试目的,我想使用require('whatever.js')
返回任意内容,而不是让它实际加载文件。
// made up code
var AAA = {};
require.setFor('./whatever.js', AAA);
var BBB = require('./whatever.js');
console.assert(AAA === BBB);
这可能吗?
答案 0 :(得分:1)
只需覆盖require
功能:
var realRequire = require;
require = function (what) {
return realRequire('mocked-' + what);
}
您也可以为您的模拟使用查找表,如果不存在模拟,则调用realRequire()
。