我们有一个应用程序,在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
个脚本。我们使用Concurrent来同时运行这两个脚本。
存在一个重大问题。当我们启动Webpack脚本时,它向Node服务器发出HTTP请求。由于这两个脚本同时运行,因此我们无法保证在运行Webpack脚本时节点服务器将运行。
这是我的问题。如何在节点服务器启动后立即运行Webpack脚本并避免此竞争条件?
答案 0 :(得分:2)
他们真的需要彼此相邻吗?您是否有可能创建启动electron
的节点程序,并在运行webpack
命令之前检查它是否正在运行或等待一段时间?
作为一个想法,你可以实现这样的事情:
我猜两个命令都保持活着(webpack可能正在观看文件,电子管理服务器)。
您可以检查电子和网络包之间的集成,例如this one