[解決済み] prettier-eslint、eslint-plugin-prettier、eslint-config-prettierの違いは何ですか?
2022-04-27 09:23:47
質問
PrettierとESLintを一緒に使いたいのですが、順番に使うだけではコンフリクトが発生してしまいます。この3つのパッケージがあれば、併用できそうですね。
-
prettier-eslint
-
eslint-plugin-prettier
-
eslint-config-prettier
しかし、これらのパッケージ名にはすべて
eslint
と
prettier
.
どちらを使うべきですか?
どのように解決するのですか?
tl;dr: 使用する
eslint-config-prettier
それ以外は無視してください。
ESLint には多くのルールが含まれており、書式に関連するものは以下のように Prettier と衝突する可能性があります。
arrow-parens
,
space-before-function-paren
などがあります。したがって、これらを一緒に使用すると、いくつかの問題が発生します。ESLintとPrettierを併用するために、以下のツールを作成しました。
<テーブル
prettier-eslint
eslint-plugin-prettier
eslint-config-prettier
内容
1つの関数をエクスポートするJavaScriptモジュール。
ESLintプラグイン。
ESLintの設定です。
何をするものなのか
コード(文字列)を
prettier
では
eslint --fix
. また、出力は文字列です。
プラグインは通常、ESLintがチェックする追加ルールの実装を含んでいます。このプラグインは、Prettierを内部で使用しており、あなたのコードがPrettierの期待する出力と異なる場合、ESLintのエラーを発生させます。
この設定は、Prettierと衝突する可能性のある書式関連のルールをオフにし、Prettierと他のESLint設定(例えば
eslint-config-airbnb
.
使用方法
コード内で関数を呼び出すか、または
prettier-eslint-cli
コマンドラインを使用する場合
に追加してください。
.eslintrc
.
に追加してください。
.eslintrc
.
最終的な出力はPrettierに準拠しているか?
ESLintの設定に依存します
はい
はい
を実行する必要がありますか?
prettier
コマンドは別途必要ですか?
いいえ
いいえ
はい
他に何か必要なものはありますか?
いいえ
を使用して、競合するルールをオフにしたい場合があります。
eslint-config-prettier
.
いいえ
詳しくは Prettier公式ドキュメント .
書式設定はPrettierに任せ、書式設定以外の問題はESLintに任せるのが推奨されるやり方です。
prettier-eslint
はその実践とは方向性が違うので、そのため
prettier-eslint
はもう推奨されません。そのため
eslint-plugin-prettier
と
eslint-config-prettier
を一緒に使う。
関連
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】event.stopPropagationとevent.preventDefaultの違いは何ですか?
-
JavaScriptのStringに関する共通メソッド
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
-
[解決済み] nullはなぜオブジェクトなのか、nullとundefinedの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
vueのグローバルがscss(mixin)を導入。
-
vueはopenlayersを使用してスカイマップとガオードマップをロードする
-
vue+webrtc(Tencent cloud)ライブ機能の実践を実現するために
-
JavaScriptの配列共通メソッド解説
-
Vueのクラススタイルの使い方の詳細
-
[解決済み】Node Version Manager のインストール - nvm コマンドが見つかりません。
-
[解決済み】ExpressJS : res.redirect()が期待通りに動かない?
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules