成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

/*eslint-disable*/

scq000 / 1980人閱讀

摘要:例如在中加入配置塊進(jìn)行配置例如,直接在代碼文件中以注釋的方式定義需要注意的是,代碼文件內(nèi)以注釋配置的規(guī)則會(huì)覆蓋配置文件里的規(guī)則,即優(yōu)先級(jí)要更高。

在 Vue-cli 創(chuàng)建的項(xiàng)目中,使用了 ESLint 規(guī)范代碼的項(xiàng)目中如何針對(duì)單個(gè)js文件禁用ESLint語(yǔ)法校驗(yàn),但整個(gè)項(xiàng)目依然保留 ESLint 的校驗(yàn)規(guī)則?

在代碼頂部添加一行注釋 /eslint-disable/ (兩個(gè)/中間有兩個(gè)*,像題目那樣) ,ESLint 在校驗(yàn)的時(shí)候就會(huì)跳過(guò)后面的代碼。

比如:main.js 里的/ eslint-disable no-new /(兩個(gè)/中間有兩個(gè)*,像題目那樣)
在js里面,new 一個(gè)對(duì)象,需要賦值給某個(gè)值(變量),用Vue實(shí)例化的時(shí)候,不需要賦值給值(變量),所以要多帶帶給配一條規(guī)則,給new Vue這行代碼上面加這個(gè)注釋,把這行代碼規(guī)則的校驗(yàn)跳過(guò),通過(guò)eslint-disable。eslint的常用技巧之一
一. 安裝
npm install eslint

二. 配置
ESLint的配置有三種方式:

1、.eslintrc.*文件的配置
首先你需要初始化配置文件。

eslint init

這將會(huì)在你的當(dāng)前目錄下生成一個(gè).eslintrc.*文件。.eslintrc的后綴可以是.js、.yalm、.yml和.json中的任意一個(gè)。以.json格式為例。

.eslintrc.json 文件的內(nèi)容類似如下: 
{ 
//extends用于引入某配置作為基礎(chǔ)配置,然后再在后續(xù)的rules中對(duì)其進(jìn)行擴(kuò)展 
"extends": "eslint:recommended", 

//如果你想使用插件中的環(huán)境變量,請(qǐng)先把插件名寫(xiě)入"plugins"數(shù)組中,然后再在"env":{}中以"插件名/插件中的需引入的環(huán)境名"的方式進(jìn)行指定。

"plugins": ["example"], 
"env": { 
//An environment defines global variables that are predefined. 
//定義env會(huì)帶進(jìn)來(lái)一些全局變量 
"browser": true, 
"node": true, 
"es6":true, 
"mocha":"true", 
"qunit":true, 
"jquery":true, 
"mongo":true, 
//通過(guò)插件名命名空間引入插件中的環(huán)境 
"example/custom": true 
}, 
"globals": { 
// globals are the additional global variables your script accesses during execution. 
// 即插件在執(zhí)行過(guò)程中用到的其它全局變量 
"angular": true, 
}, 
"rules": { 
//which rules are enabled and at what error level. 
//這里指定用哪些規(guī)則進(jìn)行eslint檢查以及每個(gè)規(guī)則的錯(cuò)誤級(jí)別:0或者off表示規(guī)則關(guān)閉,出錯(cuò)也被忽略;1或者warn表示如果出錯(cuò)會(huì)給出警告;2或者error表示如果出錯(cuò)會(huì)報(bào)出錯(cuò)誤 
"semi": ["error", "always"], 
"quotes": ["error", "double"] 
}, 
//parser指定解析器,默認(rèn)的為espree,可選的還有Esprima、Babel-ESLint。 
//babel-eslint is a wrapper around the Babel parser that makes it compatible with ESLint. 
//babel-eslint是一個(gè)Babel parser的包裝器,這個(gè)包裝器使得Babel parser可以和ESLint協(xié)調(diào)工作 
"parser": "babel-eslint", 
"parserOptions": { 
//ecmaVersion指定ECMAScript的版本,可選值有3567,默認(rèn)是5 
"ecmaVersion": 6, 
//sourceType指定被檢查的文件是什么擴(kuò)展名的,可選項(xiàng)"script"和"module",默認(rèn)是"script"。"module"是ES6的。 
"sourceType": "module", 
//ecmaFeatures指定你想使用哪些額外的語(yǔ)言特性 
"ecmaFeatures": { 
"jsx": true 
} 
}, 
} 
“rules”中的每一項(xiàng)即是一條規(guī)則。其中,“:”之前的事規(guī)則的名稱(如上面的”semi” 和 “quotes”),“:”后面的數(shù)組中,第一個(gè)項(xiàng)用于指定規(guī)則的錯(cuò)誤級(jí)別,它有 3 個(gè)可選的取值:

“off” 或者 0 - 關(guān)閉規(guī)則

“warn” or 1 - 不符合規(guī)則時(shí)作為一個(gè)警告(不會(huì)影響退出碼)

“error” or 2 - 不符合規(guī)則時(shí)視作一個(gè)錯(cuò)誤 (退出碼為1)

在你的.eslintrc文件中包含這行代碼,可以使用推薦規(guī)則。

"extends": "eslint:recommended"

通過(guò)這行代碼,會(huì)開(kāi)啟規(guī)則頁(yè)中標(biāo)有對(duì)勾符號(hào)的規(guī)則。當(dāng)然,你也可以到 npmjs.com 搜索 “eslint-config” 查找別人創(chuàng)建好的配置列表,并拿來(lái)直接使用。

.eslintrc.如果放在項(xiàng)目的根目錄中,則會(huì)作用于整個(gè)項(xiàng)目。如果在項(xiàng)目的子目錄中也包含著.eslintrc文件,則對(duì)于子目錄中文件的檢查會(huì)忽略掉根目錄中的配置,而直接采用子目錄中的配置,這就能夠在不同的目錄范圍內(nèi)應(yīng)用不同的檢查規(guī)則,顯得比較靈活。ESLint采用逐級(jí)向上查找的方式查找.eslintrc.文件,當(dāng)找到帶有”root”: true配置項(xiàng)的.eslintrc.*文件時(shí),將會(huì)停止向上查找。

“extends”除了可以引入推薦規(guī)則,還可以以文件形式引入其它的自定義規(guī)則,然后在這些自定義規(guī)則的基礎(chǔ)上用rules去定義個(gè)別規(guī)則,從而覆蓋掉”extends”中引入的規(guī)則。例如: 
{ 
"extends": [ 
"./node_modules/coding-standard/eslintDefaults.js", 
// Override eslintDefaults.js 
"./node_modules/coding-standard/.eslintrc-es6", 
// Override .eslintrc-es6 
"./node_modules/coding-standard/.eslintrc-jsx", 
], 
"rules": { 
// Override any settings from the "parent" configuration 
"eqeqeq": "warn" 
} 
}

2、在 package.json 中加入 eslintConfig 配置塊進(jìn)行配置 
例如: 
{ 
"name": "demo", 
"version": "1.0.0", 
"eslintConfig": { 
"env": { 
"browser": true, 
"node": true 
}, 
"rules": { 
"eqeqeq": "warn" 
} 
} 
} 
3、直接在代碼文件中以注釋的方式定義 
需要注意的是,代碼文件內(nèi)以注釋配置的規(guī)則會(huì)覆蓋配置文件里的規(guī)則,即優(yōu)先級(jí)要更高。

例如:

臨時(shí)在一段代碼中取消eslint檢查,可以如下設(shè)置: 
`/* eslint-disable */

// Disables all rules between comments 
alert(‘foo’);

/* eslint-enable */

臨時(shí)在一段代碼中取消個(gè)別規(guī)則的檢查(如no-alert, no-console):

/* eslint-disable no-alert, no-console */

// Disables no-alert and no-console warnings between comments 
alert(‘foo’); 
console.log(‘bar’);

/* eslint-enable no-alert, no-console */

在整個(gè)文件中取消eslint檢查:

/* eslint-disable */

// Disables all rules for the rest of the file 
alert(‘foo’);

在整個(gè)文件中禁用某一項(xiàng)eslint規(guī)則的檢查:

/* eslint-disable no-alert */

// Disables no-alert for the rest of the file 
alert(‘foo’);

針對(duì)某一行禁用eslint檢查:

alert(‘foo’); // eslint-disable-line

// eslint-disable-next-line 
alert(‘foo’);

針對(duì)某一行的某一具體規(guī)則禁用eslint檢查:

alert(‘foo’); // eslint-disable-line no-alert

// eslint-disable-next-line no-alert 
alert(‘foo’);

針對(duì)某一行禁用多項(xiàng)具體規(guī)則的檢查:

alert(‘foo’); // eslint-disable-line no-alert, quotes, semi

// eslint-disable-next-line no-alert, quotes, semi 
alert(‘foo’);

三. 把ESLint集成到工作流之中
比如,與babel和gulp結(jié)合:

package.json:

{
    "name": "my-module",
    "scripts": {
        "lint": "eslint my-files.js"
    },
    "devDependencies": {
        "babel-eslint": "...",
        "eslint": "..."
    }
}

或者

gulpfile.js

var gulp = require("gulp");
var eslint = require("gulp-eslint");

gulp.task("lint", function() {
  return gulp.src("app/**/*.js")
    .pipe(eslint())
    .pipe(eslint.format());
});
eslintrc.*:

{
    "plugins": [
        "react" //使用eslint-plugin-react插件
    ],
    "ecmaFeatures": {
        "jsx": true //開(kāi)啟ESLint JSX 支持
    }
    "rules": {
        "react/display-name": 1, //注意一下,自定義規(guī)則都是以插件名稱為命名空間的
        "react/jsx-boolean-value": 1
    }
}

四. 通過(guò)配置.eslintignore文件忽略掉不想被檢查的文件
可以通過(guò)在項(xiàng)目目錄下建立.eslintignore文件,并在其中配置忽略掉對(duì)哪些文件的檢查。需要注意的是,不管你有沒(méi)有在.eslintignore中進(jìn)行配置,eslint都會(huì)默認(rèn)忽略掉對(duì)/node_modules/ 以及 /bower_components/文件的檢查。下面是一個(gè)簡(jiǎn)單的.eslintignore文件的內(nèi)容。

# Ignore built files except build/index.js
build/
!build/index.js

五. 執(zhí)行檢測(cè)
eslint test.js test2.js

文中后部分例子來(lái)源于:https://blog.csdn.net/qq_3100...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99402.html

相關(guān)文章

  • ESLint簡(jiǎn)單操作

    摘要:簡(jiǎn)介是由編寫(xiě)的一個(gè)可擴(kuò)展每條規(guī)則獨(dú)立不內(nèi)置編碼風(fēng)格為理念的工具。在團(tuán)隊(duì)協(xié)作中,為避免低級(jí)產(chǎn)出風(fēng)格統(tǒng)一的代碼,會(huì)預(yù)先制定編碼規(guī)范。使用工具和代碼風(fēng)格檢測(cè)工具,則可以輔助編碼規(guī)范執(zhí)行,有效控制代碼質(zhì)量。 簡(jiǎn)介 ESLint 是由 Nicholas C. Zakas 編寫(xiě)的一個(gè)可擴(kuò)展、每條規(guī)則獨(dú)立、不內(nèi)置編碼風(fēng)格為理念的 Lint 工具。 在團(tuán)隊(duì)協(xié)作中,為避免低級(jí) Bug、產(chǎn)出風(fēng)格統(tǒng)一的代碼...

    liukai90 評(píng)論0 收藏0
  • 開(kāi)發(fā)一個(gè)本地上傳圖片控件你需要知道的知識(shí)點(diǎn)

    摘要:必須阻止和事件的默認(rèn)行為,這樣才能觸發(fā)事件文件對(duì)象將圖片轉(zhuǎn)換為獲取到圖片內(nèi)容微信截圖上傳監(jiān)聽(tīng)事件,通過(guò)剪貼板對(duì)象獲取圖片信息。但是最好的方案還是不管下載上傳都直接走獨(dú)立圖片服務(wù)器,避免對(duì)服務(wù)器造成額外的壓力。 更多文章請(qǐng)點(diǎn)擊Jade 接了一個(gè)「常規(guī)」需求:開(kāi)發(fā)一個(gè)本地上傳圖片控件,需要支持三種上傳方式: 支持打開(kāi)本地目錄,選擇本地圖片上傳 支持拖曳圖片上傳 支持微信截圖上傳 我們...

    qieangel2013 評(píng)論0 收藏0
  • web前端開(kāi)發(fā)中遇到的問(wèn)題整理(一)

    摘要:完成已完成安裝,重新啟動(dòng)編譯??梢源蜷_(kāi)微信開(kāi)發(fā)者工具,新建項(xiàng)目,項(xiàng)目目錄就是文件夾。記錄開(kāi)發(fā)過(guò)程中遇到的問(wèn)題及解決方案,如有不全或者錯(cuò)誤歡迎留言更正持續(xù)整理更新正 記錄開(kāi)發(fā)過(guò)程中遇到的問(wèn)題及通過(guò)自己摸索或查閱網(wǎng)上的教程整理出的解決方案,如有不全或者錯(cuò)誤歡迎留言更正 1. 如何設(shè)置輸入框 input 中 placeholder的字體顏色、字號(hào) input::-we...

    airborne007 評(píng)論0 收藏0
  • web前端開(kāi)發(fā)中遇到的問(wèn)題整理(一)

    摘要:完成已完成安裝,重新啟動(dòng)編譯??梢源蜷_(kāi)微信開(kāi)發(fā)者工具,新建項(xiàng)目,項(xiàng)目目錄就是文件夾。記錄開(kāi)發(fā)過(guò)程中遇到的問(wèn)題及解決方案,如有不全或者錯(cuò)誤歡迎留言更正持續(xù)整理更新正 記錄開(kāi)發(fā)過(guò)程中遇到的問(wèn)題及通過(guò)自己摸索或查閱網(wǎng)上的教程整理出的解決方案,如有不全或者錯(cuò)誤歡迎留言更正 1. 如何設(shè)置輸入框 input 中 placeholder的字體顏色、字號(hào) input::-we...

    zxhaaa 評(píng)論0 收藏0
  • eslint配置

    摘要:例如,以下啟用瀏覽器和環(huán)境或者在一個(gè)文件中配置規(guī)則帶有大量的規(guī)則。您可以使用配置注釋或配置文件修改您的項(xiàng)目使用的規(guī)則。將每個(gè)全局變量名稱設(shè)置為等于允許覆蓋變量或禁止覆蓋。 showImg(https://segmentfault.com/img/remote/1460000012634135?w=1600&h=900); 首次發(fā)表在個(gè)人博客 eslint配置 全局安裝 npm ins...

    phpmatt 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<