我问这个是因为我现在没有工具或时间来测试这个,但这个想法让我很困扰。当我有时间玩它时,我会自己回答这个问题。
在 node.js 中,require() 是如何工作的?它是否将所需的功能保留在内存中?还是它重新读取文件?
示例:
启动器.js
var cluster = require('cluster');
if (cluster.isMaster) {
cluster.fork();
cluster.on('exit', function () {
cluster.fork();
}
}
if (cluster.isWorker) {
var self = require('self_modifying.js');
self.start()
}
只要 self_modifying.js 有一个 start() 函数,它是 'main' 方法,它就可以通过修改它自己的源文件和 process.exit(0) 来自我更新,然后用它重新启动新代码?