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

Angular 8项目:如何强制TSlint规则,阻止含错误时执行ng serve/ng build?

如何在Angular 8项目中强制TSlint规则阻断构建与启动

嗨,我之前也遇到过一模一样的问题!Angular 8默认确实不会把TSlint错误当成阻断构建/启动的条件,但咱们可以通过几个简单的配置来把规则“硬刚”起来,让开发者必须先修复错误才能继续操作。

1. 先把TSlint规则的严重性拉满

打开项目根目录的tslint.json,检查你要严格管控的规则的severity属性——默认有些规则是"warning"级别,警告不会阻断流程,得把需要强制的规则改成"error"级别。举个例子:

{
  "rules": {
    "no-unused-variable": {
      "severity": "error"
    },
    "no-unused-expression": {
      "severity": "error"
    },
    "max-line-length": {
      "severity": "error",
      "limit": 120
    }
    // 其他你需要强制执行的规则
  }
}

2. 修改Angular配置,让启动/构建先过TSlint这关

打开angular.json,找到你项目对应的配置(一般在projects节点下的项目名称里),给build和serve任务添加前置的TSlint检查:

给serve任务加前置检查

找到architect.serve节点,添加"dependsOn": ["lint"],这样每次启动项目时都会先跑TSlint:

"serve": {
  "builder": "@angular-devkit/build-angular:dev-server",
  "dependsOn": ["lint"], // 启动前先执行TSlint检查
  "options": {
    "browserTarget": "你的项目名称:build"
  }
}

给build任务加前置检查

同样在architect.build节点里添加"dependsOn": ["lint"],确保构建前必须通过TSlint:

"build": {
  "builder": "@angular-devkit/build-angular:browser",
  "dependsOn": ["lint"], // 构建前先执行TSlint检查
  "options": {
    // 你项目原本的构建配置
  }
}

设置完之后,只要项目里存在TSlint错误(也就是severity设为error的规则触发时),ng serve和ng build就会直接失败,终端会抛出错误提示,开发者必须先把所有TSlint错误修复完才能继续。

额外小技巧:临时跳过检查(不推荐)

如果有特殊情况需要临时绕过检查,也可以用命令行参数:

ng serve --no-lint

不过这种方式尽量少用,毕竟咱们要的就是强制规则嘛。

另外还要确认一下项目的TSlint依赖是否正常,如果之前不小心卸载过,可以重新安装:

npm install tslint --save-dev

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:55:56