我需要按顺序运行三个脚本,中间是启动一个expressjs服务器。
这是我的脚本:
npm run build
npm start
Node ./node_modules/nightwatch/bin/runner.js -c ./nightwatch.json
原因是 nightwatch 需要运行服务器来进行测试,但是当启动expressjs时,我陷入了日志/进程中,而没有继续执行下一个脚本。当我有 npm start &
时,它确实在后台运行它,但启动时间比 nightwatch 第三个脚本更长,因此 nightwatch 调用尚未启动的服务器并失败。
最佳答案
诀窍是使用forever打包以将服务器作为守护进程运行,并使用 sleep 命令等待服务器启动,然后再启动 nightwatchjs。
下面是 npm 脚本命令:
forever start app.js && sleep 5 && nightwatch --env chrome,default && forever stopall
最后不要忘记停止所有守护进程
致以诚挚的问候
关于node.js - npm 脚本按顺序与expressjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33467349/