我有一个tmp
包含 3 个测试 node.js 模块的目录[mod0.js, mod1.js, mod2.js]
。
我正在尝试编写一个函数,以便将这三个模块导入一个数组,然后返回所述数组。我可以放到 REPL 并可以使用var x = require("./tmp/mod0");
etc 导入每个文件而没有任何问题。
当我尝试运行以下函数以自动执行此操作时,我收到错误消息[Error: Cannot fine module './tmp/mod0']
。
var _importFiles = function(path, files){
var moduleList = []
, trimmedName;
files.forEach(function (element, index, array){
if (_fs.lstatSync(path + "/" + element).isFile()){
trimmedName = element.substring(0, (element.length - 3));
moduleList.push(require("./" + path + "/" + trimmedName));
}
});
return moduleList;
};
我正在传递参数和参数'tmp'
的path
输出fs.readdirSync(path)
。files
如果我process.cwd();
在if
块内检查,它与 REPL 控制台的匹配。
我试图弄清楚为什么当我在 REPL 中手动而不是自动化时它会起作用。