我想知道是否有一种方法可以从外部文件中运行节点功能,该功能可能会发生变化。从动态外部文件运行Nodejs功能
Main.js
function read_external(){
var external = require('./external.js');
var result = external.result();
console.log(result);
}
setInterval(function(){
read_external();
},3000);
External.js(初始)
exports.result = function(){
return "James"; // Case 1
}
我现在通过输入节点main.js
代码开始运行后运行该代码,我改External.js到
exports.result = function(){
return "Jack"; // Case 2
}
然而,尽管有所改变,它仍然印刷詹姆斯而不是杰克。 有没有一种方法来编写代码,以便在代码更改时执行新函数?
我需要这个,因为我正在构建一个服务,人们可以提供他们自己的脚本作为JS文件,并在服务中调用某个函数时执行,具体取决于谁调用它。
delete require.cache [require.resolve('./ external.js')]可能是您的解决方案吗?刚刚测试并添加了我的评论作为答案。 –