如何从另一个js应用程序启动js应用程序?

时间:2019-03-08 12:08:10

标签: javascript node.js

在执行Express Server之前,我必须执行ansync函数,因为我将获得一个参数以将其传递给API。因此,我想我可以调用异步函数,并保证可以调用我的快递服务器(直到现在我已经用“ node my_server.js”执行了) 我怎样才能做到这一点?如何在新js上调用my_server.js?

2 个答案:

答案 0 :(得分:0)

您可以使用节点中的fork模块child_process进行新的处理。

const { fork } = require('child_process')
const path = require('path')

const newProcess = fork(path.join(__dirname, 'path/to/jsfile'), [...otherArgs])

答案 1 :(得分:0)

通常仅在运行node server.js时不会创建服务器。它将仅执行server.js中包含的javascript。如果您通过express或express()通过普通nodejs创建服务器,则代码到达createServer时将创建服务器。

这意味着您可能可以做到

var param = await someSync();

// Set the param in global context and then create your server

var app = express(); 

// or

var app = createHttpServer()

所以现在在您的应用开始之前,您将拥有该参数,并且可以在您的api中使用它

如果您使用Promise而不是异步,只需在Promise的then中创建服务器,这还可以确保您的应用在服务器启动之前就具有该参数