You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在package.json的prestart脚本中运行多命令并忽略错误?

解决方案

要让tsc和lint命令在启动前全部执行,且忽略各自的错误(不中断后续命令,也不影响start正常启动),你需要用分号分隔命令,并给每个命令加上|| true来确保单个命令失败时不返回错误码。

具体配置步骤:

  1. 添加tsc的专用脚本(推荐加上--noEmit参数,只做类型检查不生成编译文件,更贴合启动前代码校验的场景)
  2. 修改prestart脚本,让两个命令独立执行,各自失败不影响整体流程

完整的package.json脚本配置:

"scripts": {
  "start": "expo start",
  "android": "expo start --android",
  "ios": "expo start --ios",
  "web": "expo start --web",
  "test": "jest --watchAll",
  "clean": "expo start -c",
  "tsc": "tsc --noEmit",
  "lint": "eslint . --ext .ts,.tsx,.json",
  "prestart": "yarn tsc || true; yarn lint || true"
}

配置说明:

  • || true:当tsc或lint命令报错时,强制返回成功的退出码(0),避免中断后续命令执行
  • 分号;:分隔两个独立的命令,不管前一个命令执行成功还是失败,后一个命令都会被触发

如果你的开发环境是Windows,分号可能无法正常分隔命令,可以改用&:

"prestart": "yarn tsc || true & yarn lint || true"

内容的提问来源于stack exchange,提问作者Zcehtro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:40:42