是否有可能有一个服务器运行node.js在运行时安装和运行模块?

对于我的问题缺乏清晰的道歉,我会在这里试着解释我的意思。

我有一些现有的代码有效地作为不同networking之间的桥梁(使用不同的协议)。 网桥在运行时连接到的networking可能会发生变化,在运行前不可能知道networking的types。 所以我需要写一些能够有效地请求,下载,安装和运行“驱动程序”,而不需要重新启动的东西。 这可能吗?

我对node.js是完全陌生的,所以我正在努力解决这个问题,否则我将不得不将代码移植到我已经拥有的Java OSGi中(由其他人编写)。

如果驱动程序是node.js模块,则可以将它们放在npm存储库上,并通过编程方式通过npm进行安装:

var npm = require('npm'); function install (module, callback) { npm.load({ save : true, loglevel : 'silent' }, function (err) { if (err) return callback(err); npm.commands.install([module], callback); }) } install('express', function (err) { if (err) throw err; console.log('Installed!'); }); 

不幸的是,这个API没有很好的文档logging(几乎没有logging在案),所以你必须小心揭示可用的选项。