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

vue-cli的eslint相關(guān)用法

 更新時間:2017年09月29日 14:45:47   作者:魚大餅  
本篇文章主要介紹了vue-cli的eslint相關(guān)用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

ESLint簡介

關(guān)于ESLint的介紹網(wǎng)上很多,這里就簡單說些有用的。

ESLint的作用是檢查代碼錯誤和統(tǒng)一代碼風格的。由于每個人寫代碼的習慣都會有所不同,所以統(tǒng)一代碼風格在團隊協(xié)作中尤為重要。

vue-cli的eslint相關(guān)

vue-cli在init初始化時會詢問是否需要添加ESLint,確認之后在創(chuàng)建的項目中就會出現(xiàn).eslintignore和.eslintrc.js兩個文件。

  • .eslintignore類似Git的.gitignore用來忽略一些文件不使用ESLint檢查。
  • .eslintrc.js是ESLint配置文件,用來設(shè)置插件、自定義規(guī)則、解析器等配置。

.eslintrc.js

// http://eslint.org/docs/user-guide/configuring

module.exports = {
 root: true,
 parser: 'babel-eslint',
 parserOptions: {
  sourceType: 'module'
 },
 env: {
  browser: true,
 },
 // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
 extends: 'standard',
 // required to lint *.vue files
 plugins: [
  'html'
 ],
 // add your custom rules here
 'rules': {
  // allow paren-less arrow functions
  'arrow-parens': 0,
  // allow async-await
  'generator-star-spacing': 0,
  // allow debugger during development
  'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
 }
}

解析器(parser):使用了babel-eslint,這個可以在package.json中找到,說明我們已經(jīng)安裝過該解析器了。

環(huán)境配置(env):在瀏覽器中使用eslint。

繼承(extends):該配置文件繼承了standard規(guī)則,具體規(guī)則自己看文檔,看不懂有中文版的。

規(guī)則(rules):對于三個自定義規(guī)則,我特地查了官方文檔。

  • arrow-parems 允許箭頭函數(shù)參數(shù)使用括號,具體操作請看文檔
  • generator-star-spacing 允許方法之間加星號,如function * generator() {}。文檔在此。特地查了下,發(fā)現(xiàn)這是ES6提供的生成器函數(shù),回頭學習下。
  • no-debugger' 允許在開發(fā)環(huán)境下使用debugger。這個比較簡單,不過還是貼下文檔便于查看。

注意:在rules中每個配置項后面第一個值是eslint規(guī)則的錯誤等級。

* “off” 或 0 - 關(guān)閉這條規(guī)則
* “warn” 或 1 - 違反規(guī)則會警告(不會影響項目運行)
* “error” 或 2 - 違反規(guī)則會報錯(屏幕上一堆錯誤代碼~)

遇到過的問題

由于一開始我不了解ESLint就寫項目,不知道要看Standard的文檔,所以遇到了很多ESLint的錯誤和警告,分享下希望能對朋友們有幫助。

1. Do not use ‘new' for side effects

該錯誤是由于我刪除了/* eslint-disable no-new*/這段注釋引發(fā)的,/* eslint-disable */這段注釋的作用就是不讓eslint檢查注釋下面的代碼。

new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})

錯誤原因:不可以直接new一個新對象,需要將新對象賦值給一個變量。

var vm = new Vue()

2. Strings must use singlequote

錯誤原因:字符串必須用單引號

return {
   msg: "Welcome to Your Vue.js App", //雙引號,報錯!
  }

3. Expected space(s) after “return”

錯誤原因:括號兩側(cè)必須要有空格隔開

return{// 沒有空格報錯
 msg: 'Welcome to Your Vue.js App', 
}

startClock (){} //){中間沒有空格,報錯!

4. Expected indentation of 8 spaces but found 6

錯誤原因:使用兩個空格進行縮進。

   if (this.IntervalID === '') {
   this.IntervalID = setInterval(this.countDown, 1000)
   }

其實ESLint的報錯并不難懂,只要理解錯誤原因還是很好解決的。如果提前看看文檔,更不會出現(xiàn)太多報錯問題了。這個故事告訴我們看文檔是很重要滴~%>_<%

Tips

發(fā)現(xiàn)ESLint的報錯都會在報錯語句前面顯示一個URL,點擊進去可以看到詳細的錯誤信息哦。這是我剛在寫博客的時候發(fā)現(xiàn)的。

 http://eslint.org/docs/rules/no-new Do not use 'new' for side effects 
 E:\Github\EfficiencyTools\EfficiencyTool-VueMobile\src\main.js:15:1
 new Vue({

這里的 http://eslint.org/docs/rules/no-new 就是ESLint規(guī)則報錯的原因,還是很人性化的。

總結(jié)

其實vue-cli的ESLint不需要我們配置太多,基本的都配置好了,如果你愿意完全可以照著vue-cli提供的規(guī)則去寫代碼。當我們需要修改一些規(guī)則的時候添加到rules中替換原有規(guī)則就可以了。一開始用ESLint寫代碼很煩,經(jīng)常由于一些格式問題調(diào)試報錯,讓回去改格式。不過慢慢的就會發(fā)現(xiàn)使用ESLint之后代碼的確可讀性、美觀性上都好了很多。
推薦使用ESLint來規(guī)范代碼編輯~

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue.set向?qū)ο罄镌黾佣鄬訑?shù)組屬性不生效問題及解決

    vue.set向?qū)ο罄镌黾佣鄬訑?shù)組屬性不生效問題及解決

    這篇文章主要介紹了vue.set向?qū)ο罄镌黾佣鄬訑?shù)組屬性不生效問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue.js實現(xiàn)watch屬性的示例詳解

    Vue.js實現(xiàn)watch屬性的示例詳解

    本文討論了watch函數(shù)是如何利用副作用函數(shù)和options進行封裝實現(xiàn)的,也通過調(diào)度函數(shù)去控制回調(diào)函數(shù)的立即執(zhí)行和執(zhí)行時機,還可以解決競態(tài)問題,感興趣的可以了解一下
    2022-04-04
  • Vue項目中設(shè)置背景圖片方法

    Vue項目中設(shè)置背景圖片方法

    下面小編就為大家分享一篇Vue項目中設(shè)置背景圖片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • Echarts之圖例legend基本配置方式

    Echarts之圖例legend基本配置方式

    這篇文章主要介紹了Echarts只圖例legend基本配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue中view-model雙向綁定基礎(chǔ)原理解析

    vue中view-model雙向綁定基礎(chǔ)原理解析

    這篇文章主要介紹了vue中view-model雙向綁定基礎(chǔ)原理,文中給大家介紹了vue雙向綁定的原理總結(jié),本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • Vue實現(xiàn)穿梭框效果

    Vue實現(xiàn)穿梭框效果

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)穿梭框效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • vue3時間插件之Moment.js使用教程

    vue3時間插件之Moment.js使用教程

    這篇文章主要給大家介紹了關(guān)于vue3時間插件之Moment.js使用的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • vue?this.$refs.xxx獲取dom注意事項?v-if?v-for渲染的dom不能直接使用

    vue?this.$refs.xxx獲取dom注意事項?v-if?v-for渲染的dom不能直接使用

    這篇文章主要介紹了vue?this.$refs.xxx獲取dom注意事項?v-if?v-for渲染的dom不能直接使用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue中失去焦點時所觸發(fā)的事件問題

    Vue中失去焦點時所觸發(fā)的事件問題

    這篇文章主要介紹了Vue中失去焦點時所觸發(fā)的事件問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • VSCode寫vue項目一鍵生成.vue模版,修改定義其他模板的方法

    VSCode寫vue項目一鍵生成.vue模版,修改定義其他模板的方法

    這篇文章主要介紹了VSCode寫vue項目一鍵生成.vue模版,修改定義其他模板的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04

最新評論

平顶山市| 秦安县| 潮州市| 额敏县| 大同县| 尚志市| 晋江市| 绍兴县| 北宁市| 牙克石市| 林西县| 平顶山市| 临安市| 长子县| 积石山| 探索| 彰化市| 鞍山市| 祁连县| 清原| 安多县| 黄梅县| 舞钢市| 黑山县| 阳朔县| 方山县| 县级市| 洪雅县| 扎鲁特旗| 海安县| 永德县| 襄汾县| 安仁县| 抚松县| 应城市| 玉门市| 长沙县| 锡林郭勒盟| 台安县| 聊城市| 桑植县|