Jadual Kandungan
安装
1、本地安装
2、全局安装
使用
配置
文件配置方式
配置代码注释方式
使用共享的配置文件
总结
Rumah hujung hadapan web tutorial js EsLint新手入门须知

EsLint新手入门须知

May 24, 2018 pm 02:05 PM
eslint Bermula

这次给大家带来EsLint新手入门须知,EsLint新手入门须知的注意事项有哪些,下面就是实战案例,一起来看一下。

介绍

  ESLint 是一个插件化的 javascript 代码检测工具,它可以用于检查常见的 JavaScript 代码错误,也可以进行代码风格检查,这样我们就可以根据自己的喜好指定一套 ESLint 配置,然后应用到所编写的项目上,从而实现辅助编码规范的执行,有效控制项目代码的质量。

安装

ESLint的安装:本地安装、全局安装

1、本地安装

$ npm install eslint --save-dev
Salin selepas log masuk

生成配置文件

$ ./node_modules/.bin/eslint --init
Salin selepas log masuk

之后,您可以运行ESLint在任何文件或目录如下:

$ ./node_modules/.bin/eslint index.js
Salin selepas log masuk

index.js是你需要测试的js文件。你使用的任何插件或共享配置(必须安装在本地来与安装在本地的ESLint一起工作)。

2、全局安装

如果你想让ESLint可用到所有的项目,建议全局安装ESLint。

$ npm install -g eslint
Salin selepas log masuk
Salin selepas log masuk

生成配置文件

$ eslint --init
Salin selepas log masuk

之后,您可以在任何文件或目录运行ESLint

$ eslint index.js
Salin selepas log masuk
Salin selepas log masuk

PS:eslint --init是用于每一个项目设置和配置eslint,并将执行本地安装的ESLint及其插件的目录。如果你喜欢使用全局安装的ESLint,在你配置中使用的任何插件都必须是全局安装的。

使用

1、在项目根目录生成package.json文件(配置ESLint的项目中必须有 package.json 文件,如果没有的话可以使用 npm init -y来生成

$ npm init -y
Salin selepas log masuk

2、安装eslint(安装方式根据个人项目需要安装,这里使用全局安装

$ npm install -g eslint
Salin selepas log masuk
Salin selepas log masuk

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}));
Salin selepas log masuk

执行node index.js,输出结果为{ a: 123, b: 456 }

$ node index.js
{ a: 123, b: 456 }
Salin selepas log masuk

使用eslint检查

$ eslint index.js
Salin selepas log masuk
Salin selepas log masuk
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
Salin selepas log masuk

执行结果是失败,因为没有找到相应的配置文件,个人认为这个eslint最重要的就是配置问题。

新建配置文件

  $ eslint --init
Salin selepas log masuk

生成的过程中,需要选择生成规则、支持环境等内容,下面说明一些本人的生成选项

? 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
Salin selepas log masuk

生成的内容在.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"
        ]
    }
};
Salin selepas log masuk

  不过这个生成的额文件里面已经有一些配置了,把里面的内容大部分删除。留下个extends,剩下的自己填就可以了

 module.exports = {
      "extends": "eslint:recommended"
  };
Salin selepas log masuk

eslint:recommended配置,它包含了一系列核心规则,能报告一些常见的问题。

重新执行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)
Salin selepas log masuk

Unexpected console statement no-console --- 不能使用console
'console' is not defined     no-undef   --- console变量未定义,不能使用未定义的变量
一条一条解决,不能使用console的提示,那我们就禁用no-console就好了,在配置文件中添加rules

module.exports = {
    extends: 'eslint:recommended',
    rules: {
        'no-console': 'off',
    },
};
Salin selepas log masuk

  配置规则写在rules对象里面,key表示规则名称,value表示规则的配置。
  然后就是解决no-undef:出错的原因是因为JavaScript有很多种运行环境,比如常见的有浏览器和Node.js,另外还有很多软件系统使用JavaScript作为其脚本引擎,比如PostgreSQL就支持使用JavaScript来编写存储引擎,而这些运行环境可能并不存在console这个对象。另外在浏览器环境下会有window对象,而Node.js下没有;在Node.js下会有process对象,而浏览器环境下没有。
所以在配置文件中我们还需要指定程序的目标环境:

module.exports = {
    extends: 'eslint:recommended',
    env: {
        node: true,
    },
    rules: {
        'no-console': 'off',
    }
};
Salin selepas log masuk

再重新执行检查时,就没有任何提示输出了,说明index.js已经完全通过了检查。

配置

配置方式有两种:文件配置方式、代码注释配置方式(建议使用文件配置的形式,比较独立,便于维护)。
使用文件配置的方式:在项目的根目录下,新建一个名为 .eslintrc 的文件,在此文件中添加一些检查规则。

文件配置方式

env:你的脚本将要运行在什么环境中
Environment可以预设好的其他环境的全局变量,如brower、node环境变量、es6环境变量、mocha环境变量等

'env': {
    'browser': true,
    'commonjs': true,
    'es6': true
},
Salin selepas log masuk

globals:额外的全局变量

globals: {
    vue: true,
    wx: true
},
Salin selepas log masuk

rules:开启规则和发生错误时报告的等级
规则的错误等级有三种:

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

参数说明: 
参数1 : 错误等级 
参数2 : 处理方式
Salin selepas log masuk

配置代码注释方式

使用 JavaScript 注释把配置信息直接嵌入到一个文件
示例:

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

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

设置检查 
/*eslint eqeqeq: off*/ 
/*eslint eqeqeq: 0*/
Salin selepas log masuk

配置和规则的内容有不少,有兴趣的同学可以参考这里:rules

使用共享的配置文件

  我们使用配置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' ],
    },
};
Salin selepas log masuk

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

module.exports = {
    extends: './eslint-config-public.js',
};
Salin selepas log masuk

  这个要测试的是啥呢,就是看看限定缩进是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.
Salin selepas log masuk

  这时候提示第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'
Salin selepas log masuk

然后,我们在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}));
Salin selepas log masuk

执行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.
Salin selepas log masuk

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

总结

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


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

推荐阅读:

前端中排序算法实例详解

PromiseA+的实现步骤详解


Atas ialah kandungan terperinci EsLint新手入门须知. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memadam eslint dalam tindak balas Bagaimana untuk memadam eslint dalam tindak balas Dec 30, 2022 am 09:46 AM

Cara memadam eslint daripada react: 1. Jalankan arahan "npm run eject" 2. Ubah suai kod dalam package.json kepada ""eslintConfig": {"extends": ["react-app","react-app/ jest" ],"rules": {"no-undef": "off"...}"; 3. Mulakan semula projek.

Ketahui cara bermain SpongeBob SquarePants dan Krusty Krab dari awal Ketahui cara bermain SpongeBob SquarePants dan Krusty Krab dari awal Jan 26, 2024 pm 02:15 PM

"SpongeBob SquarePants and the Krusty Krab" ialah permainan perniagaan simulasi memasak dengan permainan pantas dan penuh dengan hidangan kejutan. Anda akan bermain SpongeBob dan mengembangkan pelbagai restoran dan dapur dalam permainan untuk membawa kegembiraan. Untuk pemain baru, berikut adalah beberapa cadangan strategi: Pertama, susun atur dapur secara rasional untuk meningkatkan kecekapan kerja kedua, perhatikan perolehan dan penyimpanan bahan-bahan untuk memastikan bekalan yang mencukupi juga memberi perhatian kepada keperluan pelanggan dan proses pesanan tepat pada masanya; cara; akhirnya, sentiasa menaik taraf peralatan dan resipi untuk menarik lebih ramai pelanggan. Melalui kemahiran ini, anda akan dapat menjadi lebih baik dalam permainan SpongeBob SquarePants dan Tutorial Permulaan Krusty Krab 1. Terdapat matlamat kecil pada permulaan Pemain hanya perlu melengkapkan matlamat untuk melepasi tahap 2. Semasa pengeluaran proses, setiap orang mesti berhati-hati memeriksa keperluan pelanggan 3. Setiap kali anda melengkapkan a

Panduan dan Strategi Pemula untuk Permainan Cow Town Panduan dan Strategi Pemula untuk Permainan Cow Town Jan 23, 2024 pm 09:06 PM

Little Time in Cow Town ialah permainan pertanian kasual yang digemari oleh pemain. Permainan ini menetapkan rentak yang santai dan permainan yang santai, membolehkan pemain mencipta cerita menarik mereka sendiri dalam dunia bandar simulasi. Ramai pemain baru berminat dengan permainan simulasi perniagaan yang unik ini. Di sini, saya akan berkongsi dengan anda beberapa strategi permainan pengenalan yang sesuai untuk orang baru untuk membantu mereka memulakan permainan dengan lebih baik. Panduan Permainan Permulaan Little Time in Cow Town Little Time in Cow Town ialah permainan mudah alih terbuka yang menyerupai kehidupan luar bandar dalam dunia piksel kecil ini, anda akan mengalami penambakan tanah, penternakan, membina bengkel rumah dan menakluki Penduduk kehidupan ladang baharu yang lain, serta memancing dan perlumbaan kuda, pengembaraan perlombongan, perdagangan pasaran dan permainan pelbagai lain, sedang menunggu anda untuk mengalami bandar lembu baharu ini. besar

Perkongsian alat: merealisasikan pengurusan automatik mata terkubur bahagian hadapan Perkongsian alat: merealisasikan pengurusan automatik mata terkubur bahagian hadapan Dec 07, 2022 pm 04:14 PM

Titik terkubur sentiasa menjadi bahagian penting dalam projek H5, dan data titik terkubur merupakan asas penting untuk peningkatan perniagaan dan pengoptimuman teknikal kemudian. Dalam kerja harian, pelajar dari jabatan produk atau perniagaan sering datang untuk bertanya, "Apakah perkara tersembunyi dalam projek ini sekarang?", "Di manakah titik tersembunyi ini digunakan pada dasarnya soalan dan kod ini?" tidak cekap.

Pengenalan kepada cara bermain untuk pemula di Dream City Pengenalan kepada cara bermain untuk pemula di Dream City Jan 23, 2024 am 08:00 AM

Bagaimana seharusnya pemain baharu Dream City beroperasi? Dream City ialah permainan pengurusan simulasi berkualiti tinggi dengan kandungan yang cantik dan menyegarkan. Ia menyediakan banyak pembinaan dan pengurusan bandar yang percuma dan terbuka dimainkan secara mendalam dengan irama Impian, pemain baru juga ingin tahu tentang cara beroperasi Isu ini membawa panduan kepada pemula Dream City Pohon aras Dream City mencapai tahap 3. Penambakan tanah memerlukan haiwan yang dihantar, dan pada masa yang sama Ia menggunakan sejumlah unsur air, unsur tanah, unsur kayu dan syiling emas, tetapi sesetengah tanah terbiar hanya memerlukan syiling emas. 2. Setiap kali anda membuka tanah terbiar, anda hanya boleh memilih tanah terbiar yang disambungkan ke tanah terbiar yang berbeza memerlukan jumlah bahan yang berbeza Memandangkan bilangan kali anda membuka tanah terbiar meningkat, permintaan untuk bahan dalam tempoh kemudian juga akan meningkat .

Panduan yang mesti dibaca oleh pemula untuk memulakan Ragnarok: Love Is Like First Meeting Panduan yang mesti dibaca oleh pemula untuk memulakan Ragnarok: Love Is Like First Meeting Jan 22, 2024 pm 06:21 PM

"Ragnarok Love Like First Meeting" ialah permainan watak bertema kartun Jepun berkualiti tinggi yang menggabungkan unsur-unsur IP klasik dan MMO pengembaraan yang hebat. Ciri pengendalian permainan yang unik mencipta pengalaman permainan yang mengasyikkan yang penuh dengan pemandangan dunia klasik. Dalam permainan, pemain akan memainkan pelbagai profesion klasik dan meneroka cerita pengembaraan baharu. Untuk pemain baharu, berikut ialah beberapa cadangan strategi: Ragnarok Love is Like First Met Petua Strategi 1. Biasakan diri anda dengan operasi permainan: Ragnarok Love Is First Met menggunakan butang maya untuk beroperasi Adalah disyorkan bahawa orang baru membiasakan diri dengan operasi permainan. termasuk pergerakan, Serangan, pelepasan kemahiran, dsb. 2. Pilih profesion yang sesuai: Terdapat pelbagai profesion untuk dipilih dalam permainan. Novis harus memilih profesion yang sesuai mengikut pilihan permainan dan tabiat bermain mereka sendiri. 3. Selesaikan tugasan untuk meningkatkan tahap anda

Tutorial Mula Pantas untuk Pemula ke BBX Exchange (Sebelah Web) Tutorial Mula Pantas untuk Pemula ke BBX Exchange (Sebelah Web) Feb 09, 2024 pm 02:40 PM

1. Mengenai BBX.com BBX.com ialah platform dagangan kontrak indeks mata wang kripto terkemuka yang beroperasi secara global dan komited untuk menyediakan pengguna pengalaman dagangan mata wang kripto yang selamat, mudah dan maju. Ia merupakan platform dagangan pertama yang menyokong kontrak kekal hadapan BTC, ETH, EOS dan BCH dengan USDT sebagai penyelesaian margin, dan juga platform dagangan pertama yang menyokong kontrak kekal mata wang kecil. Menyokong urus niaga kontrak, urus niaga spot dan urus niaga mata wang yang sah. 2. Pendaftaran akaun BBX dan log masuk 1. Gunakan pelayar untuk log masuk ke laman web rasmi BBX: https://www.bbx.com/ (pelayar Google Chrome disyorkan) 2. Klik butang [Daftar] di bahagian atas sudut kanan laman web rasmi Pada masa ini, nombor telefon mudah alih disokong Terdapat dua cara untuk mendaftar dan mendaftar melalui e-mel, pilih

Kenangan dan Ringkasan Panduan Pemula untuk Permainan Thirteen Ways Kenangan dan Ringkasan Panduan Pemula untuk Permainan Thirteen Ways Jan 23, 2024 pm 01:00 PM

Bagaimana pemain baru Yiyou Thirteen Ways harus bermain? juga sangat berminat dengan semua jenis hiburan berkualiti tinggi , dan lebih tinggi kerosakan yang dilakukan, lebih baik ganjaran yang mungkin. 2. Percubaan: Dengan NPC tahap yang mencabar, anda boleh mendapatkan batu bintang dan jed dongeng Jika anda berada pada kedudukan tinggi, anda boleh mendapatkan bahan termaju bintang. 3. Tahap utama dan elit: Anda boleh mencuba lebih banyak lagi Jika anda bernasib baik, anda akan mempunyai peluang untuk mencetuskan kesan kemahiran beberapa kali lagi.

See all articles