導航:首頁 > 編程語言 > jslintjshint區別

jslintjshint區別

發布時間:2025-08-11 09:09:23

1. phpstrom怎麼關閉eslint

使用ESlint
一、ESLint跟jsLint和JSHint類似,但有以下區別:
1.使用Espree進行js解析(parse)
2.用AST抽象語法樹去識別(evaluate)代碼中的模式3.每個規則都是獨立的插件
二、安裝
全局安裝:
npm install -g eslint
三、使用
如果是第一次使用,eslint --init 命令幫你完成初始化,生成.eslintrc文件然後eslint test.js test2.js
四、配置
{
"rules": {
"semi": ["error", "always"],
"quotes": ["error", "double"]
}
}
提示有三個level:
"off" or 0 - 關閉這個規則校驗
"warn" or 1 - 開啟這個規則校驗,但只是提醒,不會退出"error" or 2 - 開啟這個規則校驗,並退出
五、常見問題
1.為什麼不用jslint
創建eslint是因為急需插件化的校驗工具
2.ESLint跟JSHint、JSCS的比較
ESLint比JSlint要慢2~3倍,因為ESLint在識別代碼前需要用Espress構建AST,而JSHint在解析的時候就會識別代碼。雖然慢些,但不至於成為痛點。
ESLint比JSCS快,(as ESLint uses a single-pass traversal for analysis whereas JSCS using a querying model.)3.ESLint僅僅是校驗還是也檢查代碼風格
都有。ESLint does both traditional linting (looking for problematic patterns) and style checking (enforcement of conventions). You can use it for both.
4.支持es6嗎?
支持。參考配置eslint.org/docs/user-guide/configuring5.支持JSX?
支持,但並不表示支持React。(Yes, ESLint natively supports parsing JSX syntax (this must be enabled in configuration.). Please note that supporting JSX syntax is not the same as supporting React. React applies specific semantics to JSX syntax that ESLint doesn't recognize. We recommend using eslint-plugin-react if you are using React and want React semantics.)5.支持es7嗎?
本身不支持,可以使用babel-eslint
六、下面詳細介紹下配置,地址eslint.org/docs/user-guide/configuring1.配置ESLint
主要有兩種方法配置
(1)配置注釋,直接嵌入到js文件中
(2)配置文件,使用js、json或者yaml文件來為整個目錄及其子目錄配置。形式有:.eslintrc.*文件,或者在package.json中配置eslintConfig欄位,或者在命令行里配置。
配置分幾個方面:
(1)環境(env):設置你的腳本的目標運行環境,如browser,amd,es6,commonjs等,每種環境有預設的全局變數(2)全局變數:增加的全局變數供運行時使用(3)規則(rules):設定的規則及該規則對應的報錯level2.配置解析器選項(Specifying Parser Options)默認僅支持ES5語法,可以設置為es6 es7 jsx等。
復制代碼
{
"parserOptions": {
"ecmaVersion": 6, // 可選 3 5(默認) 6 7"sourceType": "mole", // 可選script(默認) mole"ecmaFeatures": {
"jsx": true
},
},
"rules": {
"semi": 2
}
}
復制代碼
3.配置解析器(Specifying Parser),需要本地npm模塊{
"parser": "esprima", // Espree(默認) Esprima Babel-ESLint"rules": { "semi": "error" } }
4.配置環境(Specifying Environments),可以多選復制代碼
browser - browser global variables.
node - Node.js global variables and Node.js scoping.
commonjs - CommonJS global variables and CommonJS scoping (use this for browser-only code that uses Browserify/WebPack).
shared-node-browser - Globals common to both Node and Browser.
es6 - enable all ECMAScript 6 features except for moles.
worker - web workers global variables.
amd - defines require() and define() as global variables as per the amd spec.
mocha - adds all of the Mocha testing global variables.
jasmine - adds all of the Jasmine testing global variables for version 1.3 and 2.0.
jest - Jest global variables.
phantomjs - PhantomJS global variables.
protractor - Protractor global variables.
qunit - QUnit global variables.
jquery - jQuery global variables.
prototypejs - Prototype.js global variables.
shelljs - ShellJS global variables.
meteor - Meteor global variables.
mongo - MongoDB global variables.
applescript - AppleScript global variables.
nashorn - Java 8 Nashorn global variables.
serviceworker - Service Worker global variables.
atomtest - Atom test helper globals.
embertest - Ember test helper globals.
webextensions - WebExtensions globals.
greasemonkey - GreaseMonkey globals.
復制代碼
如果要在待校驗文件裡面配置可以這樣配置:
/*eslint-env node, mocha */
如果要在配置文件中配置:
{
"env": {
"browser": true,
"node": true
}
}
如果在package.json中配置:
復制代碼
{
"name": "mypackage",
"version": "0.0.1",
"eslintConfig": {
"env": {
"browser": true,
"node": true
}
}
}
復制代碼
如果在YAML中配置:
---
env:
browser: true
node: true
也可以用插件
{
"plugins": ["example"],
"env": {
"example/custom": true
}
}
5.配置全局變數(Specifying Globals)
定義了全局變數以後,使用他們,ESLint不會發出警告。
在js文件中定義:
/*global var1, var2*/
設置read only
/*global var1:false, var2:false*/
在配置文件中:
{
"globals": {
"var1": true,
"var2": false
}
}
6.配置插件(Configuring Plugins)
使用npm安裝第三方插件
{
"plugins": [
"plugin1",
"eslint-plugin-plugin2"
]
}
7.配置規則(Configuring Rules)
js中配置:
/*eslint eqeqeq: "off", curly: "error"*/
或者:
/*eslint eqeqeq: 0, curly: 2*/
如果規則有多個選項:
/*eslint quotes: ["error", "double"], curly: 2*/在配置文件中設置:
復制代碼
{
"rules": {
"eqeqeq": "off",
"curly": "error",
"quotes": ["error", "double"]
}
}
復制代碼
使用插件:
復制代碼
{
"plugins": [
"plugin1"
],
"rules": {
"eqeqeq": "off",
"curly": "error",
"quotes": ["error", "double"],
"plugin1/rule1": "error"
}
}
復制代碼
/*eslint "plugin1/rule1": "error" */
臨時關閉eslint校驗:
/*eslint-disable */
//Disable all rules between comments
alert('foo');
/*eslint-enable */
/*eslint-disable no-alert, no-console */
alert('foo');
console.log('bar');
/*eslint-enable no-alert */
在js特定行關閉校驗:
alert('foo'); // eslint-disable-line
// eslint-disable-next-line
alert('foo');
alert('foo'); // eslint-disable-line no-alert, quotes, semi// eslint-disable-next-line no-alert, quotes, semialert('foo');
8.增加共享設置(Adding Shared Settings)
{
"settings": {
"sharedData": "Hello"
}
}
9.使用配置文件
eslint -c myconfig.json myfiletotest.js
10.繼承配置文件(Extending Configuration Files)復制代碼
{
"extends": [
"./node_moles/coding-standard/eslintDefaults.js",// Override eslintDefaults.js
"./node_moles/coding-standard/.eslintrc-es6",// Override .eslintrc-es6
"./node_moles/coding-standard/.eslintrc-jsx",],
"rules": {
// Override any settings from the "parent" configuration"eqeqeq": "warn"
}
}
復制代碼
11.忽略文件或目錄(Ignoring Files and Directories)建立.eslintignore文件
復制代碼
# /node_moles and /bower_components ignored by default# Ignore files compiled from TypeScript and CoffeeScript**/*.{ts,coffee}.js
# Ignore built files except build/index.jsbuild/
!build/index.js

閱讀全文

與jslintjshint區別相關的資料

熱點內容
羅技滑鼠如何編程 瀏覽:183
word圖片同高 瀏覽:608
網路惡霸是用什麼技術和信息手段 瀏覽:465
寧波市ug編程零基礎培訓哪裡好 瀏覽:968
javapoipptx 瀏覽:534
蘋果的抖音數據管理在哪裡看 瀏覽:350
小度app如何刪除通訊錄的人 瀏覽:331
ta16app怎麼下載 瀏覽:871
掃描儀無白平衡數據怎麼調整 瀏覽:485
3g文件傳電腦哪個軟體好 瀏覽:508
哪些量表所測得數據不是測量數據 瀏覽:389
cad文件布圖在哪 瀏覽:802
招行app怎麼變成黑白的了 瀏覽:692
如何給電腦的文件夾加密 瀏覽:303
jslintjshint區別 瀏覽:834
如何掃描文件到電腦x 瀏覽:716
數控打孔攻牙代碼怎麼編程 瀏覽:893
微信報關群號 瀏覽:438
查詢文件列表的dos命令 瀏覽:989
字幕文件可以是txt 瀏覽:93

友情鏈接