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

詳解ESLint在Vue中的使用小結(jié)

 更新時(shí)間:2018年10月15日 14:28:49   作者:老哥二娃  
ESLint是一個(gè)QA工具,這篇文章主要介紹了詳解ESLint在Vue中的使用小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

ESLint是一個(gè)QA工具,用來(lái)避免低級(jí)錯(cuò)誤和統(tǒng)一代碼的風(fēng)格

ESLint的用途

1.審查代碼是否符合編碼規(guī)范和統(tǒng)一的代碼風(fēng)格;

2.審查代碼是否存在語(yǔ)法錯(cuò)誤;

中文網(wǎng)地址 http://eslint.cn/

使用VSCode編譯器在Vue項(xiàng)目中的使用

在初始化項(xiàng)目時(shí)選擇是否使用

ESLint管理代碼(選擇Y則默認(rèn)開啟)

Use ESLint to lint your code? (Y/n)

默認(rèn)使用的是此標(biāo)準(zhǔn)https://github.com/standard/standard/blob/master/docs/RULES-zhcn.md

以下是對(duì).editorconfig、.eslintignore、.eslintrc.js 文件進(jìn)行詳細(xì)解釋

.editorconfig文件(主要用于配置IDE)

規(guī)范縮進(jìn)風(fēng)格,縮進(jìn)大小,tab長(zhǎng)度以及字符集等,解決不同IDE的編碼范設(shè)置。EditorConfig 插件會(huì)去查找當(dāng)前編輯文件的所在文件夾或其上級(jí)文件夾中是否有 .editorconfig 文件。如果有,則編輯器的行為會(huì)與 .editorconfig 文件中定義的一致,并且其優(yōu)先級(jí)高于編輯器自身的設(shè)置。

root = true
# 對(duì)所有文件有效 //[*js]只對(duì)js文件有效
[*]
#設(shè)置編碼格式
charset = utf-8
#縮進(jìn)類型 可選space和tab
indent_style = space
#縮進(jìn)數(shù)量可選整數(shù)值2 or 4,或者tab
indent_size = 2
#換行符的格式
end_of_line = lf
# 是否在文件的最后插入一個(gè)空行 可選true和false
insert_final_newline = true
# 是否刪除行尾的空格 可選擇true和false
trim_trailing_whitespace = true

.eslintignore文件(放置需要ESLint忽略的文件,只對(duì).js文件有效)

/build/
/config/
/dist/
/src/utils/
/src/router/*.js

.eslintrc.js 文件(用來(lái)配置ESLint的檢查規(guī)則)

module.exports = {
  //此項(xiàng)是用來(lái)告訴eslint找當(dāng)前配置文件不能往父級(jí)查找
  root: true, 
  //此項(xiàng)是用來(lái)指定eslint解析器的,解析器必須符合規(guī)則,babel-eslint解析器是對(duì)babel解析器的包裝使其與ESLint解析
  parser: 'babel-eslint',
  //此項(xiàng)是用來(lái)指定javaScript語(yǔ)言類型和風(fēng)格,sourceType用來(lái)指定js導(dǎo)入的方式,默認(rèn)是script,此處設(shè)置為module,指某塊導(dǎo)入方式
  parserOptions: {
    sourceType: 'module'
  },
  //此項(xiàng)指定環(huán)境的全局變量,下面的配置指定為瀏覽器環(huán)境
  env: {
    browser: true,
  },
  // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
  // 此項(xiàng)是用來(lái)配置標(biāo)準(zhǔn)的js風(fēng)格,就是說(shuō)寫代碼的時(shí)候要規(guī)范的寫,如果你使用vs-code我覺(jué)得應(yīng)該可以避免出錯(cuò)
  extends: 'standard',
  // required to lint *.vue files
  // 此項(xiàng)是用來(lái)提供插件的,插件名稱省略了eslint-plugin-,下面這個(gè)配置是用來(lái)規(guī)范html的
  plugins: [
    'html'
  ],
  // add your custom rules here
  // 下面這些rules是用來(lái)設(shè)置從插件來(lái)的規(guī)范代碼的規(guī)則,使用必須去掉前綴eslint-plugin-
  // 主要有如下的設(shè)置規(guī)則,可以設(shè)置字符串也可以設(shè)置數(shù)字,兩者效果一致
  // "off" -> 0 關(guān)閉規(guī)則
  // "warn" -> 1 開啟警告規(guī)則
  //"error" -> 2 開啟錯(cuò)誤規(guī)則
  // 了解了上面這些,下面這些代碼相信也看的明白了
 rules: {
  // allow async-await
  'generator-star-spacing': 'off',
  // allow debugger during development
  'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  // js語(yǔ)句結(jié)尾必須使用分號(hào)
  'semi': ['off', 'always'],
  // 三等號(hào)
  'eqeqeq': 0,
  // 強(qiáng)制在注釋中 // 或 /* 使用一致的空格
  'spaced-comment': 0,
  // 關(guān)鍵字后面使用一致的空格
  'keyword-spacing': 0,
  // 強(qiáng)制在 function的左括號(hào)之前使用一致的空格
  'space-before-function-paren': 0,
  // 引號(hào)類型
  "quotes": [0, "single"],
  // 禁止出現(xiàn)未使用過(guò)的變量
  // 'no-unused-vars': 0,
  // 要求或禁止末尾逗號(hào)
  'comma-dangle': 0
 }
}
  • “off” 或 0 - 關(guān)閉規(guī)則
  • “warn” 或 1 - 開啟規(guī)則
  • “error” 或 2 - 開啟規(guī)則

如何在老項(xiàng)目中加入ESlint

1. 在目錄中添加.editorconfig、.eslintrc.js、.eslintignore這三個(gè)文件

2. 在package.json的”devDependencies”中加入ESlint所需要的包

  "babel-eslint": "^7.1.1",
  "eslint": "^3.19.0",
  "eslint-config-standard": "^10.2.1",
  "eslint-friendly-formatter": "^3.0.0",
  "eslint-loader": "^1.7.1",
  "eslint-plugin-html": "^3.0.0",
  "eslint-plugin-import": "^2.7.0",
  "eslint-plugin-node": "^5.2.0",
  "eslint-plugin-promise": "^3.4.0",
  "eslint-plugin-standard": "^3.0.1",

3. 在bulid/webpack.base.conf.js文件中加入ESlint規(guī)則并生效

// 在module的rules中加入
 module: {
  rules: [
   {
    test: /\.(js|vue)$/,
    loader: 'eslint-loader',
    enforce: 'pre',
    include: [resolve('src'), resolve('test')],
    options: {
     formatter: require('eslint-friendly-formatter'),
     // 不符合Eslint規(guī)則時(shí)只警告(默認(rèn)運(yùn)行出錯(cuò))
     // emitWarning: !config.dev.showEslintErrorsInOverlay
    }
   },
  ]
 }

4. 重新bulid代碼運(yùn)行,完美生效!!!!!!

推薦三個(gè)VSCode插件

  • ESLint (只支持高亮顯示js文件)
  • EditorConfig
  • Typings(代碼錯(cuò)誤提示)

常見的報(bào)錯(cuò)

文件末尾存在空行(eol-last)

缺少分號(hào)(‘semi': [‘error','always'])

關(guān)鍵字后面缺少空格

字符串沒(méi)有使用單引號(hào)('quotes': [1, 'single'])

縮進(jìn)錯(cuò)誤

沒(méi)有使用全等(eqeqeq)

導(dǎo)入組件卻沒(méi)有使用

new了一個(gè)對(duì)象卻沒(méi)有賦值給某個(gè)常量(可以在該實(shí)例前添加此代碼/eslint-disable no-new/忽略ESLint的檢查)

超過(guò)一行空白行(no-multiple-empty-lines)

注釋符 // 后面縮進(jìn)錯(cuò)誤(lines-around-comment)

VScode

用戶配置

{
  "workbench.startupEditor": "newUntitledFile",
  // 以下是按照ESLint格式化代碼
  "vetur.format.defaultFormatter.js": "vscode-typescript",
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  "editor.quickSuggestions": {
   "strings": true
  },
  "editor.tabSize": 2,
  "eslint.validate": [
   "javascript",
   "javascriptreact",
   "html",
   "vue",
   {
    "language": "html",
    "autoFix": true
   }
  ],
  // "files.autoSave": "onFocusChange",
  // "vetur.validation.template": false,
  // // 防止格式化代碼后單引號(hào)變雙引號(hào)
  // "prettier.singleQuote": true,
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1500,
  // "git.confirmSync": false
  // 配置是否從更新通道接收自動(dòng)更新。更改后需要重啟。
  "update.channel": "none"
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • VUE的數(shù)據(jù)代理與事件詳解

    VUE的數(shù)據(jù)代理與事件詳解

    這篇文章主要為大家介紹了VUE的數(shù)據(jù)代理與事件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • vue.js-div滾動(dòng)條隱藏但有滾動(dòng)效果的實(shí)現(xiàn)方法

    vue.js-div滾動(dòng)條隱藏但有滾動(dòng)效果的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇vue.js-div滾動(dòng)條隱藏但有滾動(dòng)效果的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue自定義氣泡彈窗

    vue自定義氣泡彈窗

    這篇文章主要為大家詳細(xì)介紹了vue自定義氣泡彈窗,包含css晃動(dòng)動(dòng)畫shake制作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • vue+elementUI動(dòng)態(tài)生成面包屑導(dǎo)航教程

    vue+elementUI動(dòng)態(tài)生成面包屑導(dǎo)航教程

    今天小編就為大家分享一篇vue+elementUI動(dòng)態(tài)生成面包屑導(dǎo)航教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 手把手帶你使用vue+node作后端連接數(shù)據(jù)庫(kù)

    手把手帶你使用vue+node作后端連接數(shù)據(jù)庫(kù)

    為了快速學(xué)習(xí)nodejs制作后端并和數(shù)據(jù)庫(kù)進(jìn)行交互的方法,所以趕緊寫一篇這樣的文章出來(lái),下面這篇文章主要給大家介紹了關(guān)于手把手帶你使用vue+node作后端連接數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 詳解使用VueJS開發(fā)項(xiàng)目中的兼容問(wèn)題

    詳解使用VueJS開發(fā)項(xiàng)目中的兼容問(wèn)題

    這篇文章主要介紹了詳解使用VueJS開發(fā)項(xiàng)目中的兼容問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • vue使用SVG實(shí)現(xiàn)圓形進(jìn)度條音樂(lè)播放

    vue使用SVG實(shí)現(xiàn)圓形進(jìn)度條音樂(lè)播放

    這篇文章主要為大家詳細(xì)介紹了vue使用SVG實(shí)現(xiàn)圓形進(jìn)度條音樂(lè)播放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue實(shí)現(xiàn)前端拖拽div位置交換的方法詳解

    vue實(shí)現(xiàn)前端拖拽div位置交換的方法詳解

    這篇文章主要介紹了如何使用Vue技術(shù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的備忘錄應(yīng)用,包括添加條目和拖拽條目?jī)蓚€(gè)功能,文章還詳細(xì)解釋了如何使用Vue的draggable屬性和JavaScript獲取同級(jí)元素節(jié)點(diǎn)的方法,需要的朋友可以參考下
    2025-01-01
  • 腳手架vue-cli工程webpack的基本用法詳解

    腳手架vue-cli工程webpack的基本用法詳解

    這篇文章主要介紹了vue-cli工程webpack的基本用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-09-09
  • 詳解vue父子組件狀態(tài)同步的最佳方式

    詳解vue父子組件狀態(tài)同步的最佳方式

    這篇文章主要介紹了vue父子組件狀態(tài)同步的最佳方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論

祁门县| 梁河县| 西峡县| 珠海市| 宁都县| 兴隆县| 衢州市| 云安县| 杭锦后旗| 普安县| 兴隆县| 东光县| 讷河市| 铁力市| 临泉县| 鄂托克前旗| 乌兰浩特市| 闸北区| 德惠市| 元江| 昌都县| 龙门县| 四会市| 宣汉县| 马尔康县| 江西省| 青阳县| 营口市| 新民市| 图木舒克市| 铜梁县| 怀远县| 通河县| 澄迈县| 汉沽区| 永定县| 修文县| 万载县| 桂东县| 鸡泽县| 彭泽县|