【问题标题】:Angular-CLI Serve with Lint WatchAngular-CLI 服务于 Lint Watch
【发布时间】:2016-09-23 17:52:20
【问题描述】:

ng serve 期间监视文件更改时,有什么方法可以运行ng lint?为了根据 Angular 2 样式指南鼓励最佳实践,我们的 CI 工具在构建过程中运行 ng lint,开发人员并不总是首先想到在提交拉取请求之前运行 lint。

是否可以自定义 ng serve 所做的事情,或者是否有人想出了将运行 lint 作为重新编译过程的一部分的方法?如果不是,我也很想知道其他人是否对这是否是一个好主意以及为什么有任何意见。

【问题讨论】:

  • 不,目前没有这样的选项。但是,tslint 已集成到许多流行的 IDE 和编辑器中。您可以更新 package.json 中的脚本标签以运行并行任务(npm run start - 在脚本标签中您有“start”:“ng serve && ng lint” -> 在这种情况下,linting 会在启动期间自动启动)跨度>
  • 有一个解决方法,请参阅下面的答案。您只需要在不同的终端中同时运行ng servenpm run lint:watch

标签: angular angular-cli tslint


【解决方案1】:

您可以为此使用 nodemon 定义一个带有监视的附加 npm 脚本。

  1. 全局安装 nodemon npm 包 (npm i -g nodemon) 或在您的项目中 (npm i --save-dev nodemon)
  2. 在 package.json("scripts" 下)中定义 npm 脚本:`

    "lint:watch": "nodemon --exec \"npm run lint || exit 1\" --ext ts,html,scss"

  3. 运行npm run lint:watch

您可以将--ext ts,html,scss,json 更改为您想要重新启动lint 的任何文件扩展名。有关 nodemon 的更多文档,请参阅https://github.com/remy/nodemon#nodemon

【讨论】:

  • 已编辑:您需要在--exec 中给出的脚本末尾添加“|| exit 1”,因为 npm 将在 lint 错误时返回退出代码 2,这会破坏 nodemon 的监视。
猜你喜欢
  • 2017-03-15
  • 2017-11-25
  • 2019-12-15
  • 2019-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-04
  • 1970-01-01
相关资源
最近更新 更多