Javascript 如何从另一个正在运行的进程b.js调用正在运行的进程a.js的一个函数
我有一个nodejs项目,我有一个http服务器引导文件,我们称它为a.js,另一个是MQTT代理,我们称它为b.js 所以http服务器在express中,MQTT代理在aedes中,如果这有帮助的话。对于某些工作流,如果可能的话,我需要从mqtt broker的代码库调用http服务器代码库中的函数。 我已经知道我可以在http服务器中创建一个API,并使用一些http库从b.js调用该url。与axios类似,但这并不是我所认为的优雅之处。当a.js和b.js作为一个单独的进程运行时,是否有其他方法可以跨它们进行交叉通信Javascript 如何从另一个正在运行的进程b.js调用正在运行的进程a.js的一个函数,javascript,node.js,Javascript,Node.js,我有一个nodejs项目,我有一个http服务器引导文件,我们称它为a.js,另一个是MQTT代理,我们称它为b.js 所以http服务器在express中,MQTT代理在aedes中,如果这有帮助的话。对于某些工作流,如果可能的话,我需要从mqtt broker的代码库调用http服务器代码库中的函数。 我已经知道我可以在http服务器中创建一个API,并使用一些http库从b.js调用该url。与axios类似,但这并不是我所认为的优雅之处。当a.js和b.js作为一个单独的进程运行时,是否
谢谢如果我理解正确,并且您希望a.js和b.js在同一环境中运行一个函数,那么您最好在另一个文件c.js中共享该特定调用,并将其像库或其他api一样引入 a、 js b、 js c、 js
看起来您希望一个nodejs实例对另一个nodejs实例进行远程过程调用(RPC)并检索结果。正如您所知,Web服务是一种规范的、可审核的、可记录的、可记录的、可测试的方法。如果您想使用其他RPC方案,则必须实现它。但我怀疑你最终会得到一个web服务的包装器。node-express上有许多分层的框架可以帮助您高效地创建web服务。(不要重新发明爆胎!)
const customFunction = require('c.js');
// Some express code
app.get('/', (req, res) => {
// Server Specific Logic
customFunction(...);
});
const customFunction = require('c.js');
// Other App Code
customFunction(...);
module.exports = function() {
// Shared function here brought in when other files require('c.js')
}