package.json文件下的scripts解析总结

本文详细解读npm run命令及其pre-和post-钩子,教你如何利用pipeline执行多任务,涵盖start, dev, test等常见脚本,以及npmrun与npm run-script的区别。
摘要由CSDN通过智能技术生成

package.json 文件有一个 scripts 字段,可以用于指定脚本命令,供 npm 直接调用。
在这里插入图片描述
注:npm run 为每条命令提供了 pre- 和 post- 两个钩子(hook)。以 npm run test 为例,如果我们的 scripts 字段规定了 pretest 和 posttest:
在这里插入图片描述
则会先执行 pretest 任务,再执行 test 任务,完成 test 任务后即执行 posttest 任务。
可以简单的将二者理解为:预执行、后执行;

npm run 会创建一个新的 shell,执行指定的命令,并将 node_modules/.bin 加入 PATH 变量。当脚本内容结束,则子 shell 关闭,回到父 shell 中。
1、npm run & npm run-script
这两命令的效果都是一样的,都能执行 package.json 文件 scripts 字段下指定的任务。
npm run 是 npm run-script 的缩写,一般都使用 前者,但是后者可以更好地反应这个命令的本质;
直接运行 npm run 或 npm run-script,不加参数会列出 scripts 属性下所有可运行的命令极其命令内容。
npm run 命令会自动在环境变量 $PATH 添加 node_modules/.bin 目录,所以 scripts 字段里面调用命令时不用加上路径。
所以我们在 package.json 文件内的 scripts 字段内指定任务的时候 一般 无需指定脚本文件的路径,只需要将脚本放到 ./node_module/.bin/ 目录下即可,命令会在 这个目录 下自动寻找对应的脚本文件。而无需使用./node_modules/.bin/jshint**.js。
2、管道式命令
如果希望同时执行多个任务,可以借用 Linux 系统的 管道命令,将两个操作连在一起。
|:连接两个任务
&&:任务内部引用其他任务,子任务 先后 执行 ;亦为标签前面执行成功后,后面的才执行;
&:任务内部引用其他任务,子任务 平行 执行;标签前后的一起执行;
3、常见的命令补充
start 脚本命令
一般用于项目的初始化,是接下来一切工作的依赖起始端

dev 脚本命令
规定开发阶段所要做的处理,比如监视文件变化、实时编译……

server 脚本命令
一般用于启动服务

test 脚本命令
一般用于执行测试:单元测试、*-lint……

prod 脚本命令
一般用于规定进入生产环境时需要做的处理

help 脚本命令
help 脚本命令一般用于展示帮助信息。

docs 脚本命令
docs 脚本命令一般用于生成文档。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值