在脚本package.jscon上运行下一个任务之前等待几秒钟

时间:2017-10-04 09:37:00

标签: javascript node.js package.json

我想要做的是当我运行npm run dev执行这两项任务时,我需要等待5秒直到下一个任务运行。

运行npm run server等待5秒,然后npm run client

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

3 个答案:

答案 0 :(得分:4)

假设您使用的是Linux,则可以使用sleep命令:

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

答案 1 :(得分:1)

添加@TGrif答案,链接脚本带双&符号&&以顺序执行它们。因此,首先执行 sleep 命令,然后输入&& ,然后编写 npm run client 。因此,第二个命令( npm run client )将仅在第一个命令( sleep )完成时执行。

答案 2 :(得分:1)

使用睡眠和后台任务。

根据这些任务的作用,您可能不需要concurrently。您也许可以只使用&来运行其中一个作为后台任务就可以摆脱困境。

一般模式如下:

( sleep 5 && delayed_command ) & immediate_command

因此,在您的情况下,它看起来像这样:

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

如果您不希望其中一个命令的输出,可以在命令后添加> /dev/null 2>&1,如下所示:

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