[レスポンス]ESLint&プリセット設定(airbnbスタイルを適用)
12206 ワード
ESLint
構文エラーのキャプチャやコード構文の強制など、コード品質に使用Prettier
適用コードの最大長、一重引用符(")、二重引用符("")などのコードスタイルに使用します.1)Vscode拡張版にESLintとPrettierをインストールする
2)Prettyer取付
^(CARAT)は、後でパッケージのバージョンが更新された場合、Minerバージョンの範囲内での更新が許可されることを示しています.したがって、「save-excel」オプションを設定して、バージョンによってスタイルが変化することに対応します.
$ npm install prettier --save-dev --save-exact
prettyerチェックと修復のテスト
//test.js
let func=function
( )
{
let
foo
='text'
return foo}
上に落書きしたテスト.次のコマンドを使用してjsファイルを確認できます.$ npx prettier test.js
ひどいテストもあります次のコマンドを使用してjsファイルを変更できます.$ npx prettier --write test.js
3)eslintインストール
Eslintはprettyerと同様に開発に必要なパッケージなのでdevDependenciesにインストールします.
$ npm install eslint --save-dev
ESLint検査と修復のテスト
//test.js
let foo = text;;
上に落書きしたテスト.jsファイルは以下のコマンドでチェックできます.$ npx eslint test.js
ひどいテストもあります次のコマンドを使用してjsファイルを変更できます.$ npx eslint test.js --fix
4)airbnb JSスタイルのインストール
$ npx install-peerdeps --dev eslint-config-airbnb
※peerdeps
コマンドを使用することで、airbnbをインストールする際に必要なプラグインがインストールされます.5)eslintとprettyerの衝突防止の設定
eslint-config-prettier:
prettyerと重複するフォーマット規則を無効にするためにインストールされます.eslint-plugin-prettier:
eslintにprettyerルールを追加するためにインストールします.(prettyerで認識されたコードのフォーマットエラーをESLintエラーとして出力するため)
$ npm install eslint-plugin-prettier eslint-config-prettier --save-dev
6)eslint設定ファイルの作成
.eslintrc.jsonファイルを生成するときに、次の内容を追加します.
{
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": ["airbnb", "plugin:prettier/recommended"],
"rules": {
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }]
}
}
Envセクション(ドキュメントやsettimeoutなどの変数はブラウザで使用される変数であり、設定されていない場合はESLintエラーとみなされます.同様にnodeやes 6で使用される変数に設定してもエラーは発生しません)
https://eslint.org/docs/user-guide/configuring/language-options#specifying-environments
extendsセクション
上にインストールしたairbnb Jestyleを適用するには、
airbnb
を追加します.plugin:prettier/recommended
を追加することで、prettyerルールをeslintルールに追加し、prettyerと競合するeslintルールを閉じる役割を果たすことができます.最終的に
eslint-config-prettier
とeslint-plugin-prettier
を適用するために作成されたrulesセクション
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }]
(Component.jsなどのjsファイルでjsx構文を使用するときに発生するエラーを解決できます.)以下を参照して追加するルールがある場合は、さらに記述できます.
https://eslint.org/docs/rules/
7)Prettyer設定ファイルの作成
prettyerは基本的にプロジェクトルートディレクトリにあります.pretiercファイルのルールに従って操作します.プロジェクトにこのファイルがない場合は、デフォルト値に設定します.
// .prettierrc.js
// 일부 규칙을 추가했다.
// 그리고 주석을 적기 위해 json이 아닌 js파일로 생성하였음.
module.exports = {
singleQuote: true,
// 문자열은 singleQuote로 ("" -> '')
semi: true,
//코드 마지막에 세미콜론이 있게 formatting
tabWidth: 4,
// 들여쓰기 너비는 4칸
trailingComma: 'all',
// 배열 키:값 뒤에 항상 콤마를 붙히도록 formatting
printWidth: 80,
// 코드 한줄이 maximum 80칸
arrowParens: 'avoid',
// 화살표 함수가 하나의 매개변수를 받을 때 괄호를 생략하게 formatting
endOfLine: "auto",
// windows에 뜨는 'Delete cr' 에러 해결
};
8) VSCode setting
ctrl+を押しながら設定を開き、UserまたはWorkspaceスペースで設定します.
workspace에서 설정했을 경우
{
// Set the default
"editor.formatOnSave": true,
// Enable per-language
"[javascript]": {
"editor.formatOnSave": false
},
"editor.codeActionsOnSave": {
// For ESLint
"source.fixAll.eslint": true
},
"eslint.alwaysShowStatus": true,
"prettier.disableLanguages": ["js"],
"files.autoSave": "onFocusChange",
}
"[javascript]": {
"editor.formatOnSave": false
},
"editor.codeActionsOnSave": {
// For ESLint
"source.fixAll.eslint": true
},
"eslint.alwaysShowStatus": true,
"prettier.disableLanguages": ["js"],
"files.autoSave": "onFocusChange",
結果👍
Reference
この問題について([レスポンス]ESLint&プリセット設定(airbnbスタイルを適用)), 我々は、より多くの情報をここで見つけました https://velog.io/@jiseong/React-ESLint-Prettier-설정-airbnb-style-적용テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol