ESLintは配置を共有して発表できます.チームがカスタマイズしたESLINEルールが新鮮にできます.
ESLintは2013年6月に発売され、今まで4年間の最新バージョンv 4.8.0です.これは現在主流のJavascriptとJSXコード規範検査の利器で、多くの大企業はAirbnbとGoogleのように自分のJavascriptコード規範があります.例えば大名トップのeslint-config-airbbanとeslint-config-googleです.より良い統一チームのためのJSプログラミングスタイルとコード品質.feflowの公式は調査と探求を経て、やっとESLintの解決案を迎えました.最も核心的な理念は、eslint:recommundに基づいて規則の確定化をすることです.
一回の生産事故から話すと
2017年4月13日、騰訊高級技師の聖さんはチャージ業務をする時に、アップルアープの支払配置を修正して、JSONの配置を重複したkeyを増加しました.コードが発表された後、小さい部分でvivo携帯を使ったユーザーのフィードバックチャージ画面のホワイトスクリーンがあります.Nowアプリ内でチャージできません.最後の位置付けはvivo携帯はX 5カーネルを使っていないシステムのwebviewを使っていますが、JSONを解析する時に重複したkeyエラーが発生し、ページの白スクリーンを引き起こします.
似たような問題がたくさんあります.例えば変数が定義されていない、方法がカバーされているなど、jsコードが時報を実行するのが間違っています.どうやって避けるべきですか?ESLINEはsharrable configを提供しています.フロントエンドチームは自分のチームの状況に応じてESLINE仕様をカスタマイズできます.
ルール定義基準は車輪を繰り返さないで、eslint:recommund構成に基づいて、 を改善する.コードエラーの発見を助けることができます.全部 を開けます.目的はチームのコードスタイルの統一であり、開発体験を制限することではない.
eslint-config-invwebの紹介
eslint-config-invwebは騰訊NOW生放送IVWEBチームのESLint配置である.初版を発表しましたが、現在は約130のルールがあり、存在する可能性のあるエラー、最適な実践、変数、コードスタイル、ES 6に関する5つの大きなルールプレートが含まれています.
リポジトリの住所:https://github.com/feflow/esl...issueまたはPRを提出して一緒にチームルールのメンテナンスに参加してください.
部分規則説明
3つの情報を含みます.一番左はルールで、真ん中はエラーレベル、右側は説明の意味です.エラーレベルは、error、warn、offの3つのレベルが含まれます.
より詳細なルール説明は、ルールドキュメントに行きます.
プロジェクトアクセス使用
基本理念:プロジェクトコードが多すぎて、歴史コードに影響しません.変更されたコード(.jsと.jsxの拡張子)のみをチェックします.
第一歩:追加または変更.eslintrc.jsプロファイル
eslint:recommundとivwebを同時に継承するだけでいいです.ivwebが最後に置くことを確保します.一部のeslint:recommundで定義されているルールはちょっと厳しいです.ivwebで定化された修正があります.
第二ステップ:precommitのhookとeslint-config-ivwebの依存性を増加します.
ここではhuskyを使って、すべてのHookを管理します.以前のcomit messageチェックと同じです.
Q:なぜ直接airbbanチームのeslint-config-airbbanを使わないですか?A:airbnbオフィシャルのルールは大きすぎて、10以上のルールファイルがあります.メンテナンスコストが高く、軽量級のeslint:recommundに基づいて、オーダーメードチームのESLintルールを選ぶほうが簡単で、メンテナンスにも便利です.
Q:eslint-config-invwebのルールはちょっと合わないと思いますが、どうすればいいですか?A:issue検討または直接PRを提出してください.リポジトリの住所:https://github.com/feflow/esl...
Q:なぜlint-stagedを使っていますか?A:lint-stagedは修正したjsファイルの行数だけコード規範検査を行います.コード検査は一切しません.より合理的で、操作可能です.
一回の生産事故から話すと
2017年4月13日、騰訊高級技師の聖さんはチャージ業務をする時に、アップルアープの支払配置を修正して、JSONの配置を重複したkeyを増加しました.コードが発表された後、小さい部分でvivo携帯を使ったユーザーのフィードバックチャージ画面のホワイトスクリーンがあります.Nowアプリ内でチャージできません.最後の位置付けはvivo携帯はX 5カーネルを使っていないシステムのwebviewを使っていますが、JSONを解析する時に重複したkeyエラーが発生し、ページの白スクリーンを引き起こします.
似たような問題がたくさんあります.例えば変数が定義されていない、方法がカバーされているなど、jsコードが時報を実行するのが間違っています.どうやって避けるべきですか?ESLINEはsharrable configを提供しています.フロントエンドチームは自分のチームの状況に応じてESLINE仕様をカスタマイズできます.
ルール定義基準
eslint-config-invwebの紹介
eslint-config-invwebは騰訊NOW生放送IVWEBチームのESLint配置である.初版を発表しましたが、現在は約130のルールがあり、存在する可能性のあるエラー、最適な実践、変数、コードスタイル、ES 6に関する5つの大きなルールプレートが含まれています.
リポジトリの住所:https://github.com/feflow/esl...issueまたはPRを提出して一緒にチームルールのメンテナンスに参加してください.
部分規則説明
3つの情報を含みます.一番左はルールで、真ん中はエラーレベル、右側は説明の意味です.エラーレベルは、error、warn、offの3つのレベルが含まれます.
より詳細なルール説明は、ルールドキュメントに行きます.
プロジェクトアクセス使用
基本理念:プロジェクトコードが多すぎて、歴史コードに影響しません.変更されたコード(.jsと.jsxの拡張子)のみをチェックします.
第一歩:追加または変更.eslintrc.jsプロファイル
module.exports = {
"env": {
"es6": true,
"browser": true,
"node": true
},
"extends": ["eslint:recommended", "ivweb"],
"globals": {
"__inline": true,
"IS_SERVER": true,
"__uri": true
}
};
一部のeslint:recommendで言及されている規則はivwebでは取り上げられていませんので、eslint:recommundと一緒に使用したほうがいいです.eslint:recommundとivwebを同時に継承するだけでいいです.ivwebが最後に置くことを確保します.一部のeslint:recommundで定義されているルールはちょっと厳しいです.ivwebで定化された修正があります.
第二ステップ:precommitのhookとeslint-config-ivwebの依存性を増加します.
ここではhuskyを使って、すべてのHookを管理します.以前のcomit messageチェックと同じです.
{
"name": "with-lint-staged",
"version": "0.0.1",
"scripts": {
"precommit": "lint-staged"
},
"lint-staged": {
"src/*.{js,jsx}": [
"eslint --fix",
"git add"
]
},
"devDependencies": {
"eslint": "^4.8.0",
"eslint-config-ivweb": "^0.1.0",
"husky": "^0.14.3",
"lint-staged": "^4.2.3"
}
}
質疑インタラクティブQ:なぜ直接airbbanチームのeslint-config-airbbanを使わないですか?A:airbnbオフィシャルのルールは大きすぎて、10以上のルールファイルがあります.メンテナンスコストが高く、軽量級のeslint:recommundに基づいて、オーダーメードチームのESLintルールを選ぶほうが簡単で、メンテナンスにも便利です.
Q:eslint-config-invwebのルールはちょっと合わないと思いますが、どうすればいいですか?A:issue検討または直接PRを提出してください.リポジトリの住所:https://github.com/feflow/esl...
Q:なぜlint-stagedを使っていますか?A:lint-stagedは修正したjsファイルの行数だけコード規範検査を行います.コード検査は一切しません.より合理的で、操作可能です.