最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ESLint 是如何檢查 .vue 文件的

 更新時(shí)間:2020年11月30日 09:28:39   作者:梅旭光  
這篇文章主要介紹了ESLint 是如何檢查 .vue 文件的,幫助大家更好的理解和使用ESLINT,感興趣的朋友可以了解下

近期要做一個(gè)類似的內(nèi)容,學(xué)習(xí)了一下 Vue 是如何做的。

ESLint 中的擴(kuò)展機(jī)制

首先需要了解一下如何才能擴(kuò)展 ESLint 的功能。ESLint 擴(kuò)展機(jī)制主要有 Rules、Plugins、Formatters、Parsers,F(xiàn)ormatters 目前不需要用到,因此著重看一下其他三種方式。

Parser

用于自定義的解析文件內(nèi)容,返回 AST 給后續(xù)步驟使用。

Rules

用于定義校驗(yàn)規(guī)則。

Plugins

plugin 是多種功能的一個(gè)集合,可以定義以下內(nèi)容:

  • Rules:校驗(yàn)規(guī)則。
  • Environments:環(huán)境變量。
  • Processors:處理文件前后的鉤子函數(shù)。preprocess、postprocess。
  • Configs:一些預(yù)置的配置,可以讓用戶指定使用。

Vue 相關(guān)代碼庫

用于 .vue 文件的 eslint 代碼庫有兩個(gè):eslint-plugin-vuevue-eslint-parser。

eslint-plugin-vue 用于提供 Rules。

vue-eslint-parser 用于解析 .vue 文件,尤其是 template 部分。

eslint-plugin-vue

入口文件為 lib/index.js,其中設(shè)置了三部分內(nèi)容,rules、configs 和 processors。

rules

rules 部分對(duì)應(yīng)著非常多的校驗(yàn)規(guī)則,放在 rules 目錄下。rules 中關(guān)于 template 部分的校驗(yàn),處理的是 vue-eslint-parser 中生成的 AST,這個(gè) AST 的格式定義可以在這里查看:https://github.com/vuejs/vue-eslint-parser/blob/master/docs/ast.md

configs

configs 部分預(yù)置了很多配置選項(xiàng),不同選項(xiàng)的區(qū)別主要在于 rules 的開關(guān)設(shè)置不同,我們不需要關(guān)心。這里我們主要看 base 配置中的 parser 部分:

parser 制定為了 vue-eslint-parser,這就是為什么我們不用手動(dòng)裝 vue-eslint-parser,而只需要安裝 eslint-plugin-vue 的原因。

processors

最后一部分是 processors,他是一個(gè)對(duì)象:

其中 preprocess 沒有做任何事情,直接將 code 返回了。

有時(shí)文件中會(huì)有一些注釋來開啟關(guān)閉某些 rules,而 postprocess 所做的內(nèi)容是根據(jù)這些注釋對(duì) messages 做一個(gè)過濾。

vue-eslint-parser

vue-eslint-parser 的入口文件是 src/index.ts,該文件暴露出了 parseForESLint 和 parse 方法,這兩個(gè)方法做的事情是一樣的:輸入原始代碼,返回解析后的 AST。

由于配置 parser 后,所有文件都會(huì)經(jīng)過 vue-eslint-parser,因此需要判斷是否是 .vue 文件,如果不是的話,使用 espree (ESLint 默認(rèn)的 JS 解析器) 或用戶自定義的其他 parser 來處理 js 文件內(nèi)容。

如果判斷是 vue 文件,那么會(huì)對(duì) HTMLParser 來解析 .vue 文件內(nèi)容,獲取到 script 和 template 部分。script 部分使用 espree 或用戶自定義的其他 parser 來處理 js 內(nèi)容,template 部分則已經(jīng)由 HTMLParser 解析過了,直接使用即可。

總體流程

最后是總體的流程:

以上就是ESLint 是如何檢查 .vue 文件的的詳細(xì)內(nèi)容,更多關(guān)于ESLint 檢測(cè).vue文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用elementUI table展開行內(nèi)嵌套table問題

    使用elementUI table展開行內(nèi)嵌套table問題

    這篇文章主要介紹了使用elementUI table展開行內(nèi)嵌套table問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue如何實(shí)現(xiàn)無縫輪播圖

    vue如何實(shí)現(xiàn)無縫輪播圖

    這篇文章主要介紹了vue如何實(shí)現(xiàn)無縫輪播圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue路由傳參props解耦的三種方式小結(jié)

    Vue路由傳參props解耦的三種方式小結(jié)

    這篇文章主要介紹了Vue路由傳參props解耦的三種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 詳解Vue computed計(jì)算屬性是什么

    詳解Vue computed計(jì)算屬性是什么

    在vue中,有時(shí)候你需要對(duì)data中的數(shù)據(jù)進(jìn)行處理,或者對(duì)抓取的數(shù)據(jù)進(jìn)行處理之后再掛載呈現(xiàn)到標(biāo)簽中,這時(shí)候你就需要計(jì)算屬性了,當(dāng)然看到這里你可能還是不了解那下面我舉幾個(gè)實(shí)例并附代碼解釋
    2023-03-03
  • VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子

    VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子

    今天小編就為大家分享一篇VUEX 數(shù)據(jù)持久化,刷新后重新獲取的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 一篇文章告訴你如何編寫Vue插件

    一篇文章告訴你如何編寫Vue插件

    這篇文章主要為大家介紹了如何編寫Vue插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 解決vue中無法動(dòng)態(tài)修改jqgrid組件 url地址的問題

    解決vue中無法動(dòng)態(tài)修改jqgrid組件 url地址的問題

    下面小編就為大家分享一篇解決vue中無法動(dòng)態(tài)修改jqgrid組件 url地址的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 使用Vuex解決Vue中的身份驗(yàn)證問題

    使用Vuex解決Vue中的身份驗(yàn)證問題

    這篇文章主要介紹了使用Vuex解決Vue中的身份驗(yàn)證問題,本文通過文字實(shí)例相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-09-09
  • Vue利用Mixin輕松實(shí)現(xiàn)代碼復(fù)用

    Vue利用Mixin輕松實(shí)現(xiàn)代碼復(fù)用

    Mixin,中文翻譯為"混入",在Vue中是一種非常有用的功能,可以解決許多開發(fā)中的常見問題,下面就讓我們一起深入了解一下Mixin在Vue中解決了哪些問題吧
    2023-06-06
  • Vs-code/WebStorm中構(gòu)建Vue項(xiàng)目的實(shí)現(xiàn)步驟

    Vs-code/WebStorm中構(gòu)建Vue項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了在Vs-code/WebStorm中構(gòu)建Vue項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論

岑巩县| 安阳县| 新郑市| 西贡区| 襄城县| 青神县| 浏阳市| 拉萨市| 吴堡县| 琼中| 凤庆县| 阳原县| 武安市| 二手房| 隆子县| 斗六市| 湟中县| 石阡县| 民权县| 南宫市| 射洪县| 虎林市| 宜君县| 高要市| 乌兰浩特市| 南平市| 广河县| 茂名市| 抚顺县| 罗江县| 含山县| 云南省| 泰顺县| 神木县| 垦利县| 丰台区| 洪泽县| 四会市| 蓝田县| 滦南县| 博罗县|