如何利用concurrently配置package.json,并行运行多任务?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在编写node
程序的时候,经常会碰到需要开启两个命令行的时候,比如一个server
一个client
。这个时候,一般就需要开启两个终端命令,一个用于执行server
命令,一个用于执行client
命令。然后再打开浏览器,看效果。操作上还是有进步的空间。本文就说一下这种情况的解决方案。
大家好,这里是苏南大叔的“程序如何灵动”博客,这里记录苏南大叔和计算机代码的故事。本文描述可以同时运行多个命令的node
工具concurrently
。测试环境:win10
,node@16.14.2
,npm@8.3.0
,concurrently@7.1.0
。concurrently
是并行执行任务的!并行!同时执行!理论上没有先后顺序区分。
安装命令
github
主页地址:
这款concurrently
命令,是使用npm
安装的。全局安装完成后,可以直接在终端命令里面使用,完全脱离node
的体系。
npm i concurrently -g
也可以配置在package.json
里面的scripts
字段里,在node
项目里面,配置packages.json
字段里面使用。
npm i concurrently --save-dev
基本使用方式是:
concurrently "command1 arg" "command2 arg"
全局安装-g
还是--save
(默认)/--save-dev
(推荐),就看自己的需求而定了。
任务说明
本范例中,一共两个任务。
第一个任务是开启api
服务器。具体内容可以参考:
脚本定义:
"scripts": {
"api": "node api.js",
}
执行命令:
npm run api
第二个任务是基于react
的默认范例。任务命令是:npm run start
。改造后可以请求上述接口服务。具体内容可以参考:
脚本定义:
"scripts": {
"start": "react-scripts start",
}
执行命令:
npm run start
合并任务
利用利用concurrently
同时执行上述两个命令,下面这些命令都是可以执行的。
"scripts": {
"api": "node api.js",
"start": "react-scripts start",
"con": "concurrently \"node api.js\" \"react-scripts start\" ",
"con1": "concurrently \"npm run api\" \"npm run start\" ",
"con2": "concurrently \"npm:api\" \"npm:start\" ",
}
如果要执行的任务都有同样的前缀的话,也可以使用通配符。
"scripts": {
"task1_api": "node api.js",
"task1_start": "react-scripts start",
}
那么,可以通配符可以这样定义:
"scripts": {
"con3": "concurrently "npm:task1_*"",
}
在官方的说明里面,还有更多配置说明。但是,苏南大叔觉得也用不到。大家需要的话,来这边看看即可。
综述
concurrently
不会写太多文章,这里是第一篇文章,所以整体归入node
类别。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。