Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点服务器启动后运行脚本_Javascript_Node.js_Npm_Webpack - Fatal编程技术网

Javascript 在节点服务器启动后运行脚本

Javascript 在节点服务器启动后运行脚本,javascript,node.js,npm,webpack,Javascript,Node.js,Npm,Webpack,我们有一个在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-reg

我们有一个在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脚本时,它会向节点服务器发出HTTP请求。由于这两个脚本同时运行,我们无法保证在运行Webpack脚本时节点服务器将运行


这是我的问题。如何在节点服务器启动后立即运行Webpack脚本并避免这种竞争情况?

它们真的需要相邻运行吗?您是否有可能创建一个节点程序来启动
electron
,并在运行
webpack
命令之前检查它是否正在运行或等待一定时间

作为一个想法,您可以实现如下内容:

  • 创建一个nodejs程序,该程序读取具有服务器目标地址的参数
  • 启动electron并创建指向给定url的head请求
  • 一旦它运行,启动webpack
我想这两个命令都是有效的(webpack可能在监视文件,electron管理服务器)


您可以检查electron和webpack之间的集成,例如,

它们真的需要相邻运行吗?您是否有可能创建一个节点程序来启动
electron
,并在运行webpack命令之前检查它是否正在运行或等待一定时间?您可以创建另一个脚本来包装您的webpack任务,并检查您是否可以访问给定的port@Icepickle我已经考虑过了。他们不需要挨着跑。我希望在运行webpack之前,能够获得有关如何检查节点是否正在运行的信息。我认为bash命令最好。但我不能完全肯定。我也喜欢lumio的想法。创建一个命令,读取具有服务器目标地址的参数,启动electron并创建指向给定url的head请求,一旦运行,启动webpack。我想这两个命令都是有效的(webpack可能在监视文件,electron管理服务器)。有没有可能通过网页启动electron?有点像@Icepicke,作为一个答案,我会给你的信用。这为我解决这个问题提供了一个很好的开端。谢谢