首頁 >web前端 >js教程 >聊聊Angular中怎麼將遷移tslint至eslint

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

青灯夜游
青灯夜游轉載
2022-03-31 11:44:143345瀏覽

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

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

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

tslint vs eslint

##仍在維護,官方推薦

如何遷移

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依賴包,如
  • tslinttypescript-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外掛程式

官方文件

(可選)配置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程式設計入門

! !

lint類型 用處 現況
tslint 用來檢查ts語法規範的外掛 已經不再維護;Angular從11起棄用
eslint 檢查js/ts程式碼規範

以上是聊聊Angular中怎麼將遷移tslint至eslint的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除