目次
インストール
1、ローカル インストール
2. グローバルインストール
使用
比較的独立していてメンテナンスが容易なファイル設定形式を使用することをお勧めします
環境は、ブラウザー、ノード環境変数、es6 環境変数、mocha 環境変数など、他の環境のグローバル変数を事前設定できます。
例:
使用共享的配置文件
总结
ホームページ ウェブフロントエンド jsチュートリアル 初心者向け EsLint について知っておくべきこと

初心者向け EsLint について知っておくべきこと

May 24, 2018 pm 02:05 PM
eslint 初心者向けガイド

今回は、EsLint の初心者が EsLint を始めるにあたって知っておくべき 注意事項 をご紹介します。実際の事例をいくつか紹介しますので、一緒に見ていきましょう。

はじめに

ESLintはプラグインjavascriptコード検出ツールで、一般的なJavaScriptコードエラーをチェックするために使用でき、コードスタイルチェックも実行できます。あなたは、一連の ESLint 設定を指定し、作成したプロジェクトにそれらを適用して、補助的なコーディング標準の実行を実現し、プロジェクト コードの品質を効果的に管理したいと考えています。

インストール

ESLint インストール: ローカル インストール、グローバル インストール

1、ローカル インストール

$ npm install eslint --save-dev
ログイン後にコピー

設定ファイル

$ ./node_modules/.bin/eslint --init
ログイン後にコピー

を生成した後、次のように任意のファイルまたはディレクトリで ESLint を実行できます:

$ ./node_modules/.bin/eslint index.js
ログイン後にコピー

index。 js は、テストする必要がある js ファイルです。使用するプラグインまたは共有構成 (ローカルにインストールされた ESLint と連携するには、ローカルにインストールする必要があります)。

2. グローバルインストール

ESLint をすべてのプロジェクトで利用できるようにしたい場合は、ESLint をグローバルにインストールすることをお勧めします。

$ npm install -g eslint
ログイン後にコピー
ログイン後にコピー

設定ファイル

$ eslint --init
ログイン後にコピー

を生成した後、任意のファイルまたはディレクトリでESLintを実行できます

$ eslint index.js
ログイン後にコピー
ログイン後にコピー

追記: eslint --initは各プロジェクトでeslintのセットアップと設定に使用され、ローカルにインストールされたESLintを実行します。とそのプラグインのディレクトリ。グローバルにインストールされた ESLint を使用する場合は、構成で使用されるすべてのプラグインをグローバルにインストールする必要があります。

使用

1. プロジェクトのルートディレクトリに package.json ファイルを生成します ( ESLint を構成するプロジェクトには package.json ファイルが必要です。ない場合は、npm init -y を使用して生成できます )

$ npm init -y
ログイン後にコピー
2. eslint をインストールします (

インストール方法は個人プロジェクトのニーズに応じてインストールされます。ここではグローバルインストールを使用します)

$ npm install -g eslint
ログイン後にコピー
ログイン後にコピー
3.index.js ファイルを作成し、その中に関数を記述します。

function merge () {
    var ret = {};
    for (var i in arguments) {
        var m = arguments[i];
        for (var j in m) ret[j] = m[j];
    }
    return ret;
}

console.log(merge({a: 123}, {b: 456}));
ログイン後にコピー
nodeindex.jsを実行すると出力結果は{ a: 123, b: 456}

$ node index.js
{ a: 123, b: 456 }
ログイン後にコピー
eslintを使って確認

$ eslint index.js
ログイン後にコピー
ログイン後にコピー
Oops! Something went wrong! :(

ESLint: 4.19.1.
ESLint couldn't find a configuration file. To set up a configuration file for this project, please run:

    eslint --init

ESLint looked for configuration files in E:\website\demo5\js and its ancestors. If it found none, it then looked in your home directory.

If you think you already have a configuration file or if you need more help, please stop by the ESLint chat room: https://gitter.im/eslint/eslint
ログイン後にコピー
実行結果は該当する設定ファイルが見つからないので失敗となります。この eslint が最も重要だと思います。これは設定の問題です。

新しい構成ファイルを作成します

  $ eslint --init
ログイン後にコピー
生成プロセス中に、生成ルール、サポート環境、その他のコンテンツを選択する必要があります。ここでは私の生成オプションの一部を紹介します

? How would you like to configure ESLint? Answer questions about your style
? Are you using ECMAScript 6 features? Yes
? Are you using ES6 modules? Yes
? Where will your code run? Browser
? Do you use CommonJS? Yes
? Do you use JSX? No
? What style of indentation do you use? Tabs
? What quotes do you use for strings? Single
? What line endings do you use? Windows
? Do you require semicolons? No
? What format do you want your config file to be in? JavaScript
ログイン後にコピー
生成されたコンテンツは .eslintrc.js ファイルにあります。 、ファイルの内容は次のとおりです

module.exports = {
    "env": {
        "browser": true,
        "commonjs": true,
        "es6": true
    },
    "extends": "eslint:recommended",
    "parserOptions": {
        "sourceType": "module"
    },
    "rules": {
        "indent": [
            "error",
            "tab"
        ],
        "linebreak-style": [
            "error",
            "windows"
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "error",
            "never"
        ]
    }
};
ログイン後にコピー
ただし、生成されたファイルにはすでにいくつかの設定が含まれているため、内部のほとんどの内容を削除します。拡張部分はそのままにして、残りを自分で埋めてください

 module.exports = {
      "extends": "eslint:recommended"
  };
ログイン後にコピー
eslint:推奨設定。これには一連のコアルールが含まれており、いくつかの一般的な問題を報告できます。

eslint Index.jsを再実行すると、出力は次のようになります

  10:1  error  Unexpected console statement  no-console
  10:1  error  'console' is not defined      no-undef

✖ 2 problems (2 errors, 0 warnings)
ログイン後にコピー
予期しないコンソールステートメント no-console --- コンソールを使用できません

'console' が定義されていません no-undef --- コンソール変数が定義されていません未定義の変数は使用できません
コンソールプロンプトが使用できない場合は、コンソールなしを無効にして、設定ファイルにルールを追加できます

module.exports = {
    extends: 'eslint:recommended',
    rules: {
        'no-console': 'off',
    },
};
ログイン後にコピー
設定ルールはルールオブジェクトに記述され、キーはルールを表します。名前、値はルールの構成を表します。

次に、no-undef に対する解決策があります。エラーの理由は、JavaScript にはブラウザや Node.js などの多くの実行環境があるためです。また、PostgreSQL など、JavaScript をスクリプト エンジンとして使用するソフトウェア システムも数多くあります。 JavaScript を使用してストレージ エンジンを作成すると、これらのオペレーティング環境にはコンソール オブジェクトが存在しない可能性があります。さらに、ブラウザ環境には
window オブジェクト がありますが、Node.js にはありません。Node.js にはプロセス オブジェクトがありますが、ブラウザ環境にはありません。 そのため、設定ファイルでプログラムのターゲット環境を指定する必要もあります:

チェックが再度実行されると、index.js がチェックに完全に合格したことを示すプロンプト出力は表示されません。

設定

設定方法には、ファイル設定方法とコードコメント設定方法の2つがあります(

比較的独立していてメンテナンスが容易なファイル設定形式を使用することをお勧めします

)。

ファイル構成を使用する: プロジェクトのルート ディレクトリに .eslintrc という名前の新しいファイルを作成し、このファイルにいくつかのチェック ルールを追加します。 ファイル設定方法

env: スクリプトはどの環境で実行されますか?

環境は、ブラウザー、ノード環境変数、es6 環境変数、mocha 環境変数など、他の環境のグローバル変数を事前設定できます。

'env': {
    'browser': true,
    'commonjs': true,
    'es6': true
},
ログイン後にコピー

globals :追加のグローバル変数

globals: {
    vue: true,
    wx: true
},
ログイン後にコピー
ルール: オープンルールとエラー発生時に報告されるレベル

ルールには 3 つのエラーレベルがあります:

0或’off’:关闭规则。 
1或’warn’:打开规则,并且作为一个警告(并不会导致检查不通过)。 
2或’error’:打开规则,并且作为一个错误 (退出码为1,检查不通过)。

参数说明: 
参数1 : 错误等级 
参数2 : 处理方式
ログイン後にコピー

設定コードのコメントメソッド

JavaScript コメントを使用して、設定情報をファイルに直接埋め込みます

例:

忽略 no-undef 检查 
/* eslint-disable no-undef */

忽略 no-new 检查 
/* eslint-disable no-new */

设置检查 
/*eslint eqeqeq: off*/ 
/*eslint eqeqeq: 0*/
ログイン後にコピー

多くの設定とルールがあります。興味のある学生はここを参照してください: ルール

使用共享的配置文件

  我们使用配置js文件是以extends: 'eslint:recommended'为基础配置,但是大多数时候我们需要制定很多规则,在一个文件中写入会变得很臃肿,管理起来会很麻烦。

  新建一个文件比如eslint-config-public.js,在文件内容添加一两个规则。

module.exports = {
    extends: 'eslint:recommended',
    env: {
        node: true,
    },
    rules: {
        'no-console': 'off',
        'indent': [ 'error', 4 ],
        'quotes': [ 'error', 'single' ],
    },
};
ログイン後にコピー

然后原来的.eslintrc.js文件内容稍微变化下,删掉所有的配置,留下一个extends。

module.exports = {
    extends: './eslint-config-public.js',
};
ログイン後にコピー

  这个要测试的是啥呢,就是看看限定缩进是4个空格和使用单引号的字符串等,然后测试下,运行eslint index.js,得到的结果是没有问题的,但是如果在index.js中的var ret = {};前面加个空格啥的,结果就立马不一样了。

2:1  error  Expected indentation of 4 spaces but found 5  indent

✖ 1 problem (1 error, 0 warnings)
  1 error, 0 warnings potentially fixable with the `--fix` option.
ログイン後にコピー

  这时候提示第2行的是缩进应该是4个空格,而文件的第2行却发现了5个空格,说明公共配置文件eslint-config-public.js已经生效了。

  除了这些基本的配置以外,在npm上有很多已经发布的ESLint配置,也可以通过安装使用。配置名字一般都是eslint-config-为前缀,一般我们用的eslint是全局安装的,那用的eslint-config-模块也必须是全局安装,不然没法载入。

在执行eslint检查的时候,我们会经常看到提示“--flx”选项,在执行eslint检查的时候添加该选项会自动修复部分报错部分(注意这里只是部分,并不是全部

比如我们在规则中添加一条no-extra-semi: 禁止不必要的分号。

'no-extra-semi':'error'
ログイン後にコピー

然后,我们在index.js最后多添加一个分号

function merge () {
    var ret = {};
    for (var i in arguments) {
        var m = arguments[i];
        for (var j in m) ret[j] = m[j];
    }
    return ret;;
}

console.log(merge({a: 123}, {b: 456}));
ログイン後にコピー

执行eslint index.js,得到结果如下:

  7:16  error  Unnecessary semicolon  no-extra-semi
  7:16  error  Unreachable code       no-unreachable

✖ 2 problems (2 errors, 0 warnings)
  1 error, 0 warnings potentially fixable with the `--fix` option.
ログイン後にコピー

然后我们在执行eslint index.js --fix就会自动修复,index.js那个多余的分号也就被修复消失不见了。

总结

以上是我在学习eslint整理的一些资料,不算太全面,对于像我这样的新手入门足够了


相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

前端中排序算法实例详解

PromiseA+的实现步骤详解


以上が初心者向け EsLint について知っておくべきことの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Reactでeslintを削除する方法 Reactでeslintを削除する方法 Dec 30, 2022 am 09:46 AM

React から eslint を削除する方法: 1. 「npm run eject」コマンドを実行します; 2. package.json 内のコードを「"eslintConfig": {"extends": ["react-app","re​​act-app/」に変更しますjest" ],"rules": {"no-undef": "off"...}"; 3. プロジェクトを再起動します。

スポンジ・ボブとザ・クラスティー・クラブの遊び方を最初から学びましょう スポンジ・ボブとザ・クラスティー・クラブの遊び方を最初から学びましょう Jan 26, 2024 pm 02:15 PM

「SpongeBob SquarePants in the Krusty Krab」は、テンポの速いゲームプレイと驚きの料理が満載のクッキング シミュレーション ビジネス ゲームです。あなたはスポンジ・ボブをプレイし、ゲーム内のさまざまなレストランやキッチンを拡張して喜びをもたらします。初心者プレイヤー向けに、戦略の提案をいくつか紹介します: まず、キッチンのレイアウトを合理的に配置して作業効率を向上させます。次に、材料の調達と保管に注意を払って適切な供給を確保します。また、顧客のニーズに注意を払い、注文をタイムリーに処理します。最後に、より多くの顧客を引き付けるために、機器とレシピを常にアップグレードします。これらのスキルを通じて、スポンジ・ボブとクラスティー・クラブのゲームで上達することができます。 初心者向けチュートリアル 1. 最初に小さな目標があります。プレイヤーはレベルに合格するために目標を完了するだけで済みます。 2. 制作中プロセスを完了するたびに、全員が顧客のニーズを注意深く確認する必要があります。

カウタウン ゲームの初心者ガイドと戦略 カウタウン ゲームの初心者ガイドと戦略 Jan 23, 2024 pm 09:06 PM

Little Time in Cow Town は、プレイヤーに愛されているカジュアルな農業ゲームです。このゲームは、ゆったりとしたペースとリラックスしたゲームプレイを設定しており、プレイヤーはシミュレートされた街の世界で独自の興味深いストーリーを作成できます。多くの初心者プレイヤーがこのユニークなビジネス シミュレーション ゲームに興味を持っています。ここでは、初心者がゲームをより良く始めるのに役立つ、初心者に適したいくつかの入門的なゲームプレイ戦略を共有します。リトル タイム イン カウ タウン 初心者向けゲーム ガイド リトル タイム イン カウ タウンは、田園生活をシミュレートするオープン モバイル ゲームです。この小さなピクセルの世界で、土地の開拓、家畜の飼育、荘園の作業場建設、町の征服を体験します。その他の新しい農場生活、釣り、競馬、採掘アドベンチャー、市場取引、その他の多様なゲームプレイが、この新しい牛の町を体験するのを待っています。大きい

ツール共有:フロントエンド埋め込みポイントの自動管理を実現 ツール共有:フロントエンド埋め込みポイントの自動管理を実現 Dec 07, 2022 pm 04:14 PM

埋設ポイントは常に H5 プロジェクトの重要な部分であり、埋設ポイント データは後のビジネス改善や技術的最適化のための重要な基盤となります。日々の業務の中で、製品部門や事業部門の学生がよく「今のプロジェクトの隠れたポイントは何ですか?」「この隠れたポイントはどこに使われていますか?」といった質問をして確認するのが基本です。非効率的な。

ドリームシティの初心者向け遊び方紹介 ドリームシティの初心者向け遊び方紹介 Jan 23, 2024 am 08:00 AM

Dream City の新規プレイヤーはどのように操作すればよいでしょうか? Dream City は、美しく癒しのコンテンツを備えた高品質のシミュレーション管理ゲームです。自由でオープンな都市の建設と管理を数多く提供します。楽しく優れたコンテンツで作成されており、自由に楽しむことができます。夢のリズムで奥深く遊べます 探索、初めての方も操作方法が気になります 今号は夢の街の初心者向けガイドをお届けします! 夢の街の入門ゲームプレイ紹介 1. 夢の街のレベルツリーがレベル3になったとき開墾には動物を派遣する必要があり、同時に水属性、土属性、木属性、金貨を一定量消費しますが、一部の荒れ地では金貨のみが必要となります。 2. ウェイストランドを開放するたびに、ロック解除された土地に接続されているウェイストランドのみを選択できます。ウェイストランドごとに必要な素材の量が異なります。ウェイストランドの開放回数が増えると、後期の素材の需要も増加します。

Ragnarok: Love Is Like First Meeting の初心者必読ガイドとヒント Ragnarok: Love Is Like First Meeting の初心者必読ガイドとヒント Jan 22, 2024 pm 06:21 PM

「Ragnarok Love Like First Meeting」は、古典的なIPとクールなアドベンチャーMMOの要素を組み合わせた、高品質の日本の漫画をテーマにしたキャラクターゲームです。ゲームのユニークな操作機能は、古典的な世界観に満ちた没入型のゲーム体験を生み出します。ゲームでは、プレイヤーはさまざまな古典的な職業をプレイし、新しい冒険ストーリーを探索します。新規プレイヤー向けに、ここにいくつかの戦略提案があります: Ragnarok Love is Like First Met 初心者向け戦略のヒント 1. ゲームの操作に慣れる: Ragnarok Love Is First Met は仮想ボタンを使用して操作します。初心者はゲームの操作に慣れることをお勧めします。移動、攻撃、スキル解放などを含む。 2. 適切な職業を選択: ゲームにはさまざまな職業が用意されているため、初心者は自分のゲームの好みやプレイ習慣に応じて適切な職業を選択する必要があります。 3. タスクを完了してレベルを上げます

BBX Exchange の初心者向けクイック スタート チュートリアル (Web 側) BBX Exchange の初心者向けクイック スタート チュートリアル (Web 側) Feb 09, 2024 pm 02:40 PM

1. BBX.com について BBX.com は、世界的に運営されている大手暗号通貨インデックス契約取引プラットフォームであり、ユーザーに安全、便利、かつ高度な暗号通貨取引体験を提供することに尽力しています。これは、証拠金決済としてUSDTを使用してBTC、ETH、EOS、およびBCHの先物無期限契約をサポートする最初の取引プラットフォームであり、また小通貨の無期限契約をサポートする最初の取引プラットフォームでもあります。約定取引、現物取引、法定通貨取引に対応。 2. BBXアカウントの登録とログイン 1. ブラウザでBBX公式サイトにログイン: https://www.bbx.com/ (ブラウザはGoogle Chrome推奨) 2. 上部の[登録]ボタンをクリック公式サイト右隅 現在、携帯電話番号での登録とメールでの登録の2通りの方法がございますので、

十三道ゲーム初心者向けガイドの思い出とまとめ 十三道ゲーム初心者向けガイドの思い出とまとめ Jan 23, 2024 pm 01:00 PM

「易遊十三道」の初心者プレイヤーはどのようにプレイすればよいでしょうか? 「易遊十三道」は、キャラクターの配置と収集というエキサイティングなコンテンツを備えた素晴らしい不滅育成ゲームです。カジュアルで興味深いエンターテイメントを提供し、プレイヤーは不死の世界のさまざまな側面を体験できます。新規プレイヤーはまた、あらゆる種類の高品質のエンターテイメントにも非常に興味があります。この号には、初心者向けのヘルプ ガイドがいくつかあります! Yiyou 13 の方法初心者育成ガイド 1. デイリー チャレンジ: 毎日戦うためにカオス ビーズを着用することを検討できます。デイリー チャレンジの報酬はダメージに関連付けられています、与えられたダメージが大きいほど、報酬も良くなる可能性があります。 2. 試練:レベルNPCに挑戦するとスターストーンと妖精翡翠を獲得でき、ランキング上位に入るとスター上級素材を獲得できます。 3. メインラインとエリートレベル: さらに挑戦することができ、運が良ければスキル効果をさらに数回トリガーするチャンスがあります。

See all articles