sublime text3使用eslint、Stylelint

題外話:總結(jié)應(yīng)該在7月份寫株婴,但當(dāng)時(shí)業(yè)務(wù)比較多怎虫,拖到現(xiàn)在,自己都快忘記如何安裝使用了,借此機(jī)會回顧一下困介。

相比于直接在webpack上安裝使用相關(guān)的插件大审,在sublime使用過程雖然有些繁瑣,但它不影響webpack打包座哩,如果使用webpack徒扶,在保存代碼的時(shí)候同樣也進(jìn)行了代碼檢測,會報(bào)很多錯誤根穷,可能會導(dǎo)致工程啟動不起來酷愧,要先解決格式上的錯誤才行驾诈,而sublime只是將格式不正確的代碼標(biāo)出來,不影響工程啟動溶浴,也很直觀乍迄。

我實(shí)踐的工程是基于vue腳手架的,目錄下該有的文件都有(指的是有package.json等一些列文件)士败。所以下面的步驟尤其是eslint是基于vue環(huán)境的闯两,不是基于此環(huán)境的如果參考如下步驟可能不完整。


1.Eslint的使用

Eslint官方文檔谅将,英文的漾狼,比較容易讀懂。Eslint主要用于檢測ECMAScript/JavaScript饥臂,不知道你們用沒用過JSLint或者JSHint逊躁,有異曲同工之妙。(我沒有接觸過隅熙,官網(wǎng)上這樣表述的)

官網(wǎng)上有一些基本的指令稽煤,寫的挺清楚的。如果不使用webpack或某些開發(fā)工具囚戚,有官網(wǎng)應(yīng)該就足夠了酵熙。我自己在實(shí)踐中只用了局部安裝,第一次接觸總是會小心翼翼驰坊。

ps:要注意node環(huán)境匾二,要在6.14及以上

①工程下安裝eslint

npm i eslint --save-dev //本地安裝

②配置一下eslint,官網(wǎng)上給的命令是

eslint --init //命令在node modules> .bin里執(zhí)行

輸入命令后會給你展示很多問題拳芙,問你使用什么語言察藐,字符串用雙引號還是單引號balabala等

但是

也可以不用這個(gè)命令配置這些東西,eslintrc.js舟扎,都有人寫好了转培,直接放在工程根目錄下就可以了!浆竭!我在實(shí)踐的過程中用的就是eslintrc.js文件。
大致結(jié)構(gòu)如下:

module.exports = {
    //此項(xiàng)是用來指定eslint解析器的惨寿,解析器必須符合規(guī)則邦泄,babel-eslint解析器是對babel解析器的包裝使其與ESLint解析
    "parser": 'babel-eslint',
    //此項(xiàng)是用來指定javaScript語言類型和風(fēng)格,sourceType用來指定js導(dǎo)入的方式裂垦,默認(rèn)是script顺囊,此處設(shè)置為module,指某塊導(dǎo)入方式
    "parserOptions": {
        "sourceType": 'module'
    },
    //此項(xiàng)指定環(huán)境的全局變量蕉拢,下面的配置指定為瀏覽器環(huán)境
    "env": {
        "browser": true,
        "es6":true
    },
    // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
    // 此項(xiàng)是用來配置標(biāo)準(zhǔn)的js風(fēng)格特碳,就是說寫代碼的時(shí)候要規(guī)范的寫诚亚,如果你使用vs-code我覺得應(yīng)該可以避免出錯
    "extends": 'standard',
    "rules": {
        //檢測的規(guī)則
    }
}

檢測規(guī)則官網(wǎng)上有介紹,我沒有看午乓,直接看的js文件注釋知道了一個(gè)大概站宗。

babel-eslint也是要使用到的,這個(gè)之后會解釋益愈。

③弄完eslint相關(guān)就要下載sublime插件了
ctrl+shift+p 輸入install回車梢灭,安裝sublimelinter,再安裝sublimelinter-eslint
安裝完sublimelinter蒸其,找到package settings敏释,會看到里面已經(jīng)有sublimelinter了,修改其設(shè)置保存下來

// SublimeLinter Settings - User
{
    "debug": true,
    // "delay": 0.2,
    "lint_mode": "manual",
    // "syntax_map": {
    //     "html (django)": "html",
    //     "html (rails)": "html",
    //     "html 5": "html",
    //     "css": "css",
    //     "javascript (babel)": "javascript",
    //     "magicpython": "python",
    //     "php": "html",
    //     "python django": "python",
    //     "pythonimproved": "python"
    // },
    "styles": [
        {
            "scope": "region.yellowish markup.warning.sublime_linter",
            "types": ["warning"]
        },
        {
            "scope": "region.redish markup.error.sublime_linter",
            "types": ["error"]
        },
        {
            "priority": 1,
            "icon": "dot",
            "mark_style": "outline"
        }
    ],
    "linters": {
        "eslint": {
            // 讓eslint能夠識別html頁面中嵌入的JS
            "selector": "source.js | text.html.basic"
        },
        // 下面三個(gè)sublimelinter默認(rèn)都支持摸袁,為防止檢查干擾钥顽,需要禁用它們
        "csslint": {
            //"disable": true
        },
        "stylelint":{
            //"disable":true
        },
        "htmlhint": {
            //"disable": true
        }
    }
}

這里面 stylelint htmlhint csslint eslint就都有了,之后再配置stylelint和htmlhint就不用再修改這個(gè)文件了靠汁。

④這時(shí)我們還是打開ctrl+shift+p蜂大,輸入sublimeLinter,會看到下面這個(gè)圖


image.png

有一行是默認(rèn)選中的膀曾,敲回車县爬,編輯器會給我們一個(gè)提示

Cannot find module 'babel-eslint'   //找不到babel-eslint

前面有提到,編輯器很聰明添谊,找不到這個(gè)模塊提示你财喳,所以我們就知道接下來應(yīng)該安裝這個(gè)模塊了。(先不用安裝斩狱,先繼續(xù)往下看6摺!)

npm i babel-eslint --save-dev  //局部安裝
npm i -g babel-eslint //全局安裝

在運(yùn)行一遍所踊,接著提示你少一些東西

Cannot find module 'eslint-config-standard'

看來想用sublime配合eslint檢測Js文件泌枪,依賴的東西還挺多,依次的秕岛,最后能夠知道要安裝這些:

npm i babel-eslint eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard --save-dev

安裝完這些之后碌燕,再次運(yùn)行 指令(啊這是最后一次了),bingo!你會看到你的JS文件有好多紅色的框出現(xiàn)(在*.vue上使用這個(gè)指令并沒有出現(xiàn)任何效果继薛,應(yīng)該是檢測vue要用別的修壕。),鼠標(biāo)移上去就告訴你標(biāo)紅的原因遏考。

eslint檢測

是不是挺可怕的哈哈慈鸠,慢慢改代碼吧。這些都是根據(jù)eslintrc.js文件里規(guī)定的規(guī)則檢測的灌具,規(guī)則多檢測的就嚴(yán)格一些青团。

關(guān)于Eslint大概的步驟就是這些了譬巫,sublime上還有自動修復(fù)錯誤的插件,我沒有寫也沒有實(shí)踐督笆,大家可以了解一下芦昔,是Eslint-Formatter

第4個(gè)步驟里寫的那些npm指令胖腾,作用也不在此羅列了烟零,github上都有,看看還是有好處的咸作,起碼知道它起什么作用對不對锨阿?


2.StyleLint的使用

有了前面Eslint的安裝鋪墊,StyleLint就容易多了记罚,
StyleLint官網(wǎng)墅诡,StyleLint在sublime上的使用,只看這兩個(gè)就夠了桐智,官網(wǎng)上展示的代碼也很簡單粗暴末早。

npm i stylelint --save-dev//安裝 stylelint

然后在sublime安裝sublimelinter-stylelint插件
既然檢測js文件我們有eslintrc.js,檢測css當(dāng)然要有.stylelintrc啦说庭,仍然是放在根目錄然磷,只不過這個(gè)文件沒有后綴。

打開你的css文件刊驴,依然是ctrl+shift+p姿搜,敲sub找到它,ok看到各種錯誤被指出來咯

未完持續(xù).....

參考文章
前端代碼亂糟糟捆憎?是時(shí)候引入代碼質(zhì)量檢查工具了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舅柜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子躲惰,更是在濱河造成了極大的恐慌致份,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件础拨,死亡現(xiàn)場離奇詭異氮块,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)诡宗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門滔蝉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人僚焦,你說我怎么就攤上這事∈锒唬” “怎么了芳悲?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵立肘,是天一觀的道長。 經(jīng)常有香客問我名扛,道長谅年,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任肮韧,我火速辦了婚禮融蹂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弄企。我一直安慰自己超燃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布拘领。 她就那樣靜靜地躺著意乓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪约素。 梳的紋絲不亂的頭發(fā)上届良,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音圣猎,去河邊找鬼士葫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛送悔,可吹牛的內(nèi)容都是我干的慢显。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼放祟,長吁一口氣:“原來是場噩夢啊……” “哼鳍怨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起跪妥,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤鞋喇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后眉撵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侦香,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年纽疟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了罐韩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡污朽,死狀恐怖散吵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤矾睦,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布晦款,位于F島的核電站,受9級特大地震影響枚冗,放射性物質(zhì)發(fā)生泄漏缓溅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一赁温、第九天 我趴在偏房一處隱蔽的房頂上張望坛怪。 院中可真熱鬧,春花似錦股囊、人聲如沸袜匿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沉帮。三九已至,卻和暖如春贫堰,著一層夾襖步出監(jiān)牢的瞬間穆壕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工其屏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喇勋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓偎行,卻偏偏與公主長得像川背,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蛤袒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Sublime Text:一款具有代碼高亮熄云、語法提示、自動完成且反應(yīng)快速的編輯器軟件妙真,不僅具有華麗的界面缴允,還支持插...
    追風(fēng)逸少丶閱讀 11,315評論 1 34
  • 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列的資源整理。awesome-jav...
    白水螺絲閱讀 2,549評論 0 24
  • ESLint 配置 ESlint 被設(shè)計(jì)為完全可配置的珍德,這意味著你可以關(guān)閉每一個(gè)規(guī)則而只運(yùn)行基本語法驗(yàn)證练般,或混合和...
    靜默虛空閱讀 41,248評論 3 14
  • Sublime Text:一款具有代碼高亮、語法提示锈候、自動完成且反應(yīng)快速的編輯器軟件薄料,不僅具有華麗的界面,還支持插...
    xiaotao123閱讀 9,478評論 0 27
  • 秋 立秋 已立秋 秋風(fēng)瑟瑟 沒吹到?jīng)鰵?照例失眠無語 看云與月的游戲 一年已過大半節(jié)氣 但未知以后何從何去 不讓你...
    夜雨歌者閱讀 234評論 0 0