ionic2.0+实战我爱编程ionic2实战

ionic2实战-使用tslint

2018-05-07  本文已影响410人  昵称已被使用_

传送门
TSLlinttslint-eslint-rulestslint-config-alloyeslint-config-alloyionic2_tabs

前言

先感受一下校验效果

关于TSLint

  1. TSLint提供一些广泛支持的核心校验规则
  2. 预留了自定义规则的接口
  3. 可以输出验证失败的规则清单
  4. 可以自动修复部分验证规则
  5. 提供了各种开发工具插件与其相集成
  1. tslint-eslint-rules——ionic项目默认使用这个
  2. codelyzer——angular项目默认使用这个
  3. 还有好多如下图
  1. 能够帮助发现代码错误的规则,全部开启
  2. 配置不应该依赖于某个具体项目,而应尽可能的合理
  3. 帮助保持团队的代码风格统一,而不是限制开发体验

扫盲:前面说tslint提供了大量规则,其实是说的是规则的实现,我们需要配置,但是还有人不知道什么是规则,什么是配置;如:不允许使用var的规则的实现看这里,它的配置需要在tslint.json文件中配置'no-var-keyword': true,设置false则不校验,这就是配置

项目实战

其中tslint-eslint-rules是规则的实现,它的规则已经继承了tslint,其中tslint-config-alloy是规则的配置,我们的配置继承这里的配置。

{
  "extends": "tslint-config-alloy",
  "rules": {
  },
  "rulesDirectory": [
    "node_modules/tslint-eslint-rules/dist/rules"
  ]
}

其中rulesDirectory指定规则的实现目录,可以配置多个,如你自定义的规则的目录;其中extends指定我们继承的配置,这里继承tslint-config-alloy,我们可以在rules中添加配置和覆盖tslint-config-alloy提供的配置。更多详情看这里

如果你的项目是一个老项目,启用了TSLint会有大量错误

  1. webstorm设置import自动导入的内容为单引号

  2. webstorm设置import自动导入大括号两边添加空格
    默认自动生成格式:
    import {AbstractControl} from '@angular/forms';
    想要格式:
    import { AbstractControl } from '@angular/forms';
  3. 其他配置自行百度
  4. 实际开发过程中可以先不启用TSLint,每次提交代码前或测试开发的代码时在启用并修复问题

TSLint注释标记

// tslint:disable-line——忽略当前行代码出现的错误提示

// tslint:disable-next-line——忽略下一行代码出现的错误提示

关于自定义规则

  1. https://palantir.github.io/tslint/develop/custom-rules/
  2. https://blog.fedepot.com/bian-xie-zi-ding-yi-tslint-rules/
  3. https://webfe.kujiale.com/tslint-bp/
 "rules": {
    "comment-format": [true, "check-space"]
  }
上一篇 下一篇

猜你喜欢

热点阅读