Wait seconds before running next task on scripts package.jscon

纵饮孤独 提交于 2019-12-23 09:15:33

问题


What I want to do is when I run npm run dev to execute those both tasks I need to wait for 5 seconds until next task runs.

Run the npm run server wait for 5 seconds and then npm run client

  "scripts": {
    "start": "node ./bin/www",
    "server": "nodemon start",
    "client": "gulp",
    "dev": "concurrently 'npm run server' 'npm run client'", 
}

回答1:


Assuming you're on Linux, you can use sleep command:

"dev": "concurrently 'npm run server' 'sleep 5 && npm run client'"



回答2:


Adding to @TGrif answer, chain scripts with double ampersand && to execute them sequntially. So to execute sleep command first, put && after it and then write npm run client. So the second command(npm run client) will execute only when the first(sleep) is complete.




回答3:


Use Sleep and Background tasks.

Depending on what these tasks do, you might not need concurrently. You might be able to get away with just using & to run one of them as a background task.

The general pattern is as follows:

( sleep 5 && delayed_command ) & immediate_command

So in your case, it would look something like this:

"dev": "( sleep 5 && npm run client ) & npm run server"

If you don't want the output from one of the commands, you can add > /dev/null 2>&1 after the command, like this:

"dev": "( sleep 5 && npm run client > /dev/null 2>&1 ) & npm run server"


来源:https://stackoverflow.com/questions/46561608/wait-seconds-before-running-next-task-on-scripts-package-jscon

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!