我们有一个应用程序,其中 package.json 包含以下三个脚本...
"start": "concurrently --kill-others \"npm run start-electron\" \"npm run start-webpack\" -n \"electron,webpack\" -p name",
"start-electron": "electron -r babel-register ./js-file",
"start-webpack": "node -r babel-register scripts/js-file-2.js"
当我们运行npm start
时,start-electron
和start-webpack
脚本都会被调用。我们使用并发来同时运行两个脚本。
有一个重大问题。当我们启动 Webpack 脚本时,它会向 Node 服务器发出 HTTP 请求。因为这两个脚本是并发运行的,所以我们不能保证当我们运行 Webpack 脚本时 Node 服务器也会运行。
这是我的问题。如何在 Node 服务器启动后立即运行 Webpack 脚本并避免这种竞争情况?
最佳答案
他们真的需要并肩奔跑吗?您是否有机会创建一个启动 electron
的 Node 程序,并检查它是否正在运行或在运行 webpack
命令之前等待一定时间?
作为一个想法,你可以实现这样的东西:
- 创建一个 Nodejs 程序,读取具有服务器目标地址的参数,
- 启动 Electron 并创建对给定 url 的头请求,
- 运行后,启动 webpack。
我猜这两个命令都保持事件状态(webpack 可能正在监视文件,电子管理服务器)。
您可以检查 Electron 和 Webpack 之间的集成,例如 this one
关于javascript - Node 服务器启动后运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46899737/