package.json脚本中使用;与&&的区别及;的作用
关于package.json scripts中分号(;)和双与号(&&)的区别
核心区别
- 分号(;):作为命令顺序分隔符,不管前一条命令执行成功还是失败,后一条命令都会照常运行——简单说就是「挨个执行,互不影响」。
- 双与号(&&):作为条件执行符,只有前一条命令执行成功(返回状态码为0),后一条命令才会启动;如果前序命令失败,后续命令直接跳过。
例子中的分号作用
看你提到的Lit Element Typescript Starter项目里的checksize脚本:
"checksize": "rollup -c ; cat my-element.bundled.js | gzip -9 | wc -c ; rm my-element.bundled.js"
这里的分号就是让三个命令按顺序依次执行,不受前序命令结果影响:
- 先执行
rollup -c,用rollup打包生成my-element.bundled.js文件; - 不管rollup打包成功与否,都会尝试读取这个文件,通过管道压缩后计算文件大小;
- 最后不管前面两步有没有出错,都会执行删除命令清理生成的打包文件。
内容的提问来源于stack exchange,提问作者Ole
相关产品推荐
相关产品推荐

