【问题标题】:How do I start js app from another js app?如何从另一个 js 应用程序启动 js 应用程序?
【发布时间】:2026-02-25 02:05:02
【问题描述】:

我必须在执行快速服务器之前执行一个异步函数,因为我要获取一个参数来将它传递给 API。所以我想我可以调用异步函数并按照我将得到的承诺调用我的快速服务器(直到现在我已经使用“node my_server.js”执行它) 我怎样才能做到这一点?如何在我的新 js 上调用 my_server.js ?

【问题讨论】:

标签: javascript node.js


【解决方案1】:

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

这意味着你可能会这样做

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 部分创建您的服务器,这也将确保您的应用在您的服务器启动之前拥有该参数

【讨论】:

  • "在你的承诺中创建你的服务器"是的,最后我做到了,谢谢
【解决方案2】:

您可以使用节点中的child_process 模块fork 一个新进程。

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

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

【讨论】: