gitフックを使って、コードの仕様を検出します.


最終的な実現効果説明:git comitでコードを提出する前に、pre-comit gitフックを利用して、コード規範検査(eslint、standard仕様)を実現し、規範に合ってからgit倉庫に提出することができます.このようにチームで協力して開発する時、コードの風格を統一することができて、もしいくつか同志のコードは規範に合わないならば、コードを提出することができないのです.
私のdemo住所:demo住所
規範doc:standard規範eslint規範
ジートフック
この検証はどうやって実現されますか?
設置されていることを確認してください.node_npm_gitは転送ドアを設置します.node_npm_git
先に私のディレクトリ構造を説明します.
               |——node_modules            #       (npm install         )
               |
pre-commit ——— |——src —— test.js          #     (      )
               |
               |——package.json            #      npm   (npm init        )
一、手順は以下の通りです.
  • まず、私達のディレクトリに従ってディレクトリを作成し、その後、次のような命令を実行します.
       git init                                    //          git   
       git remote add origin url                   // url      git     
       npm init                                    //   pre-commit       npm   
       npm install --save-dev standard             //    standard   
       npm install --save-dev husky@next           //    husky git   
       npm install --save-dev snazzy               //    snazzy ,   standard     ,eslint        
  • 依存資源をインストールした後、package.jsonファイル
    // package.json
    {
     "husky": {
       "hooks": {
         "pre-commit": "standard \"src/**/*.{js,vue,wpy}\" | snazzy",
       }
     }
    }
     :   src             .js || .vue || .wpy      ,      。
        ,git        git    commit,          ;
           ,git commit            。
  • を変更します.
    もちろんコード検査を避けて強制提出してもいいです.
    git add . && git commit --no-verify -m "          "
    スタンダード規範のエラーメッセージは以下の通りです.
    // standard         :
    D:\pre-commit\src\test.js:2:19: Extra semicolon.
    ------------------------------------------------
    //    snazzy         :
    2:19  error  Extra semicolon
    ✖ 1 problem
    二、手順は以下の通りです.
  • は先に私達のディレクトリによって先にディレクトリを作成して、それから前後して下記のコマンドを実行します.
       git init                                    //          git   
       git remote add origin url                   // url      git     
       npm init                                    //   pre-commit       npm   
       npm install --save-dev eslint               //    eslint   
       npm install --save-dev husky@next           //    husky git   
       
         ,    :
       $ ./node_modules/.bin/eslint --init         //    .eslintrc.js   ,        
    注:eslintカスタムコード規範詳細転送ゲート;eslintrc.js構成は、トランスポートゲート
  • を詳しく説明する.
  • 依存資源をインストールした後、package.jsonファイル
    // package.json
    {
     "husky": {
       "hooks": {
         "pre-commit": "eslint \"src/**/*.{js,vue,wpy}\"",
       }
     }
    }
  • を変更します.
    もちろんコード検査を避けて強制提出してもいいです.
    git add . && git commit --no-verify -m "          "
    
    eslint仕様のエラーは以下の通りです.
    // eslint       
    
    D:\fe\pre-commit\src\test.js
      1:13  error  Strings must use doublequote                     quotes
      1:28  error  Expected linebreaks to be 'LF' but found 'CRLF'  linebreak-style
      1:28  error  Missing semicolon                                semi
      2:1   error  Unexpected console statement                     no-console
      2:20  error  Expected linebreaks to be 'LF' but found 'CRLF'  linebreak-style
    
    ✖ 5 problems (5 errors, 0 warnings)
    ✖ 1 problem
    対応するエラーメッセージに従って、コードを変更し、仕様に合わせたら、git倉庫に提出することができます.
    どんな問題がありますか?メッセージを歓迎します.作者の同意なしに転載を禁止します.ありがとうございます.
    私のgitブログへようこそ.