您现在的位置是:群英 > 开发技术 > web开发
Angular中迁移tslint至eslint的过程是怎样的呢
Admin发表于 2022-08-27 17:49:41702 次浏览
这篇文章主要给大家介绍“Angular中迁移tslint至eslint的过程是怎样的呢”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Angular中迁移tslint至eslint的过程是怎样的呢”文章能对大家有所帮助。

大家好,最近做了Angular从12到13的升级,官方自动把angular.json中的tslint配置去除了,那么咱也最好遵从官方安排用起了eslint。

tslint vs eslint

lint类型 用处 现状
tslint 用来检查ts语法规范的插件 已经不再维护;Angular从11起弃用
eslint 检查js/ts代码规范 仍在维护,官方推荐

如何迁移

1. 安装eslint依赖,运行以下命令:

ng add @angular-eslint/schematics

运行结果:

  • .eslintrc.json文件自动在root生成,默认使用@angular-eslinteslint插件。
{
  "root": true,
  "ignorePatterns": [
    "projects/**/*"
  ],
  "overrides": [
    {
      "files": [
        "*.ts"
      ],
      "parserOptions": {
        "project": [
          "tsconfig.json"
        ],
        "createDefaultProgram": true
      },
      "extends": [
        "plugin:@angular-eslint/recommended",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {
        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": "attribute",
            "prefix": "app",
            "style": "camelCase"
          }
        ],
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "app",
            "style": "kebab-case"
          }
        ]
      }
    },
    {
      "files": [
        "*.html"
      ],
      "extends": [
        "plugin:@angular-eslint/template/recommended"
      ],
      "rules": {}
    }
  ]
}
  • 以下eslint相关的cli配置被添加至angular.json,今后如果通过ng命令行生成lib或者application,将会自动在该模块下生成.eslintrc.json
"cli": {
	    "defaultCollection": "@angular-eslint/schematics"
  }

2. 移除或替换tslint相关文件或者配置

  • 删除根目录或模块下的tslint.json
  • 删除tslint相关dev依赖包,如tslint或者typescript-tslint-plugin
  • (如有)在tsconfig.json中删除tslint-plugin相关配置,如

  • 将angular.json下的tslint配置(如有)改为eslint,可能需要手动修改

原始tslint配置:

修改后的eslint配置(e.g.配置为在projects/lint-test目录下执行lint):

3. 如需暂时关闭一些代码或者文件的eslint检查

  • 在代码上方添加以下注释可暂时关闭该代码eslint检查
/* eslint-disable */
const some_un_used_var;
  • 可以在注释中加入eslint检查报错时的rule以表明暂时关闭检查的原因。例如以下代码,不希望某未用变量被eslint检查出来而抛错
/* eslint-disable @typescript-eslint/no-unused-vars */
const some_un_used_var;
  • 需要关闭某些文件的eslint检查,可添加.eslintignore文件在root下
  • 可在.eslintrc中配置需要lint检查的pattern(本文不赘述,官方介绍)

4. 检验是否可以使用

运行lint命令

ng lint

如运行成功,那么恭喜你迁移完成!

(可选)其他可配套的eslint插件

  • eslint-plugin-deprecation:验证代码是否过时
  • eslint-plugin-header:验证文件头部注释是否遵循一定规则(可用于版本,专利校验等)
  • eslint-plugin-import:验证import地址拼写或者名字错误,语法等
  • eslint-plugin-prefer-arrow:验证使用箭头函数
  • eslint-plugin-unicorn:验证js,ts语法相关
  • eslint-plugin-jsdoc:文档相关
  • ...

可在.eslintrc.json中配置(官方文档)

(可选)配置VS code

安装eslint插件

保存时VS code自动修正eslint相关问题

在.vscode/settings.json中设置

"editor.codeActionsOnSave": { "source.fixAll.eslint": true }

或者在File->Preferences->Settings下搜索onsave设置,可找到eslint相关设置



到此这篇关于“Angular中迁移tslint至eslint的过程是怎样的呢”的文章就介绍到这了,感谢各位的阅读,更多相关Angular中迁移tslint至eslint的过程是怎样的呢内容,欢迎关注群英网络资讯频道,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-12-01 16:14:55 
摘要:用php连接数据库失败的解决办法:1、打开php.ini配置文件,去掉“extension=php_mysql.dll”前面的注释分号,并通过extension指定“php_mysql.dll”的绝对路径;2、修改mysql的my.ini配置文件;3、修改数据集字符集即可。
2022-09-16 17:55:37 
摘要:遵守原因:W3C标准可以弥补SEO不足,这样即使对SEO不了解,只需要去遵循W3C标准即可确保获得良好的SEO,这是因为SEO的编写者同样遵循这一种约定。如果不遵守W3C标准,搜索引擎可能不会抓取非标准的页面,抓取那些不遵循标准来的网站(DIV乱用)是很麻烦,直接忽略掉这些网站是最好的选择。
2021-12-29 18:30:23 
摘要:Python怎样实现二进制,八进制和十进制的转化?对于进制转化的实现方法,有一些朋友不是很了解到的,对此本文给大家分享一个示例,对大家学习和理解python 进制转化有帮助,需要的朋友可以参考,那么感兴趣的朋友接下来一起跟随小编学习一下吧。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部