站長資訊網
最全最豐富的資訊網站

聊聊Angular中怎么將遷移tslint至eslint

本篇文章帶大家繼續angular的學習,對比一下tslint和eslint,介紹一下Angular中怎么將遷移tslint至eslint,希望對大家有所幫助!

聊聊Angular中怎么將遷移tslint至eslint

大家好,最近做了Angular從12到13的升級,官方自動把angular.json中的tslint配置去除了,那么咱也最好遵從官方安排用起了eslint。【相關教程推薦:《angular教程》】

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中怎么將遷移tslint至eslint

  • 將angular.json下的tslint配置(如有)改為eslint,可能需要手動修改

原始tslint配置:

聊聊Angular中怎么將遷移tslint至eslint

修改后的eslint配置(e.g.配置為在projects/lint-test目錄下執行lint):

聊聊Angular中怎么將遷移tslint至eslint

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插件

聊聊Angular中怎么將遷移tslint至eslint

保存時VS code自動修正eslint相關問題

在.vscode/settings.json中設置

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

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

聊聊Angular中怎么將遷移tslint至eslint

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产愉拍精品手机| 亚洲国产精品成人精品小说| 无码精品人妻一区| 日韩在线视频免费| 日韩成人国产精品视频| 亚洲色精品VR一区区三区| 91精品国产色综久久| 99久久久国产精品免费蜜臀| 亚洲AV无码久久精品蜜桃| 国产亚洲精品精华液| 91老司机深夜福利精品视频在线观看 | 亚洲日韩精品A∨片无码| 国产精品亚洲精品日韩已方| 精品综合一区二区三区| 亚洲国产日韩精品| 日韩丰满少妇无吗视频激情内射| 国产成人精品男人的天堂网站 | 亚洲午夜国产精品无码| 国产拍揄自揄精品视频| 成人区精品人妻一区二区不卡| 国产亚洲精品影视在线产品 | 亚洲中文字幕久久精品蜜桃| 亚洲精品国产日韩| 亚洲AV无码成人精品区日韩| 午夜精品久久久久久久99蜜桃| 日韩国产精品亚洲а∨天堂免 | 国模和精品嫩模私拍视频| 久久精品中文字幕一区| 久久久99精品一区二区 | 亚洲精品无码久久久久牙蜜区| 久久中文字幕精品| 大香伊人久久精品一区二区| 亚洲国产精品99久久久久久| 最新国产午夜精品视频不卡| 国产精品无码MV在线观看| 国产精品一区二区久久沈樵| 亚洲?V无码成人精品区日韩| 在线日韩日本国产亚洲| 日韩福利视频一区| 丰满人妻熟妇乱又伦精品软件| 国产韩国精品一区二区三区|