Vue項目第三方依賴庫

目錄

Vue 2.0的項目擴展
1.如何舒服地使用Atom
??安裝插件
??配置皮膚顏色
2.Vue項目引入組件庫
??引入方式
??支持ES2015
??Mint UI
??ElementUI
??iView
??Vonic
??MuseUI
3.Vue項目的調(diào)試工具
??vue-devtools
??移動端調(diào)試
????Chrome DevTools
????Safari Web Inspector
????Eruda
????spy-debuger
4.Vue項目官方依賴庫
??vue-loder
??vue-router
??Vuex
5.Vue項目第三方依賴庫
??ESlint
????ESlint規(guī)則摘要
????ESlint規(guī)則風(fēng)格
????ESlint忽略文件

在使用vue-cli創(chuàng)建的vue項目,默認添加了一些第三方依賴庫。

使用vue-cli創(chuàng)建的vue

以下為package.json文件的源碼胸墙,Vue項目的依賴庫包含在dependencies和devDependencies里。其中,vue、vue-router、vue-loader幢哨、vue-template-compiler、vue-template-compiler 是由尤雨溪團隊開發(fā)的嫂便,稱之為官方依賴捞镰,其他由第三方開發(fā)的依賴,就是第三方依賴毙替,本文就是要講一講這些依賴庫岸售。

{
  "name": "myproject",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "author": "thomasTY",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
    "e2e": "node test/e2e/runner.js",
    "test": "npm run unit && npm run e2e",
    "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs",
    "build": "node build/build.js"
  },
  "dependencies": {
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
    "babel-eslint": "^7.1.1",
    "babel-loader": "^7.1.1",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-preset-env": "^1.3.2",
    "babel-preset-stage-2": "^6.22.0",
    "babel-register": "^6.22.0",
    "chalk": "^2.0.1",
    "copy-webpack-plugin": "^4.0.1",
    "css-loader": "^0.28.0",
    "eslint": "^3.19.0",
    "eslint-friendly-formatter": "^3.0.0",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-html": "^3.0.0",
    "eslint-config-standard": "^10.2.1",
    "eslint-plugin-promise": "^3.4.0",
    "eslint-plugin-standard": "^3.0.1",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-node": "^5.2.0",
    "eventsource-polyfill": "^0.9.6",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.4",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "html-webpack-plugin": "^2.30.1",
    "webpack-bundle-analyzer": "^2.9.0",
    "cross-env": "^5.0.1",
    "karma": "^1.4.1",
    "karma-coverage": "^1.1.1",
    "karma-mocha": "^1.3.0",
    "karma-phantomjs-launcher": "^1.0.2",
    "karma-phantomjs-shim": "^1.4.0",
    "karma-sinon-chai": "^1.3.1",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-spec-reporter": "0.0.31",
    "karma-webpack": "^2.0.2",
    "mocha": "^3.2.0",
    "chai": "^4.1.2",
    "sinon": "^4.0.0",
    "sinon-chai": "^2.8.0",
    "inject-loader": "^3.0.0",
    "babel-plugin-istanbul": "^4.1.1",
    "phantomjs-prebuilt": "^2.1.14",
    "node-notifier": "^5.1.2",
    "chromedriver": "^2.27.2",
    "cross-spawn": "^5.0.1",
    "nightwatch": "^0.9.12",
    "selenium-server": "^3.0.1",
    "postcss-import": "^11.0.0",
    "postcss-loader": "^2.0.8",
    "semver": "^5.3.0",
    "shelljs": "^0.7.6",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.2.0",
    "rimraf": "^2.6.0",
    "url-loader": "^0.5.8",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.1",
    "vue-template-compiler": "^2.5.2",
    "portfinder": "^1.0.13",
    "webpack": "^3.6.0",
    "webpack-dev-server": "^2.9.1",
    "webpack-merge": "^4.1.0"
  },
  "engines": {
    "node": ">= 4.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

ESlint

ESlint是一個基于ECMAScript標準的代碼審查工具(類似的工具還有JSLintJSHint厂画、Css Lint)凸丸,用來避免編碼低級錯誤和統(tǒng)一代碼的風(fēng)格,會對JavaScript木羹、JSX代碼進行檢查甲雅。

在使用vue-Cli創(chuàng)建項目的時候解孙,是可以選擇是否引入ESLint的。創(chuàng)建時沒有引入的ESLint的項目抛人,也可以后期引入弛姜。
不過,ESLint代碼審查工具的引入是非常有必要的妖枚,由于腳本語言的執(zhí)行沒有編譯的過程廷臼,只能通過結(jié)果來校驗代碼是否正確,因此Vue項目的正確運行會是非常依賴于ESlint對代碼的檢查的绝页。

創(chuàng)建好項目荠商,感覺終于可以愉快地編碼了,但是卻報了一堆錯誤续誉,就是js代碼沒有遵守ESlint編碼規(guī)范導(dǎo)致的:

  • 鍵值對的冒號后面必須加空格
ESLint要求鍵值對冒號后面要加空格
  • 代碼縮進的空格一定要對齊莱没,不能多也不能少;函數(shù)名之后要加括號
ESLint要求一個空格不能多不能少
  • 不需要以分號結(jié)束語句
ESLint要求不能以逗號或分號標識結(jié)束語句

ESlint規(guī)則摘要

ESLint提供一下校驗:

  1. 語法錯誤
  2. 不重要或丟失的標點符號酷鸦,如分號饰躲、空格
  3. 沒法運行到的代碼塊
  4. 未被使用的參數(shù)
  5. 漏掉的結(jié)束符,如}
  6. 確保樣式的統(tǒng)一規(guī)則臼隔,如sass或者less
  7. 變量命名

這里對ESLint校驗代碼的規(guī)則做簡要摘取嘹裂,以供參考:

  1. 使用兩個空格進行縮進

  2. 字符串使用單引號(需要轉(zhuǎn)義的地方除外)

  3. 不再有冗余的變量

  4. 無分號

  5. 行首不要以 ([摔握, 或`` `開頭

  6. 關(guān)鍵字后加空格寄狼,如: if (condition) { ... }

  7. 函數(shù)名后加空格,如: function name (arg) { ... }

  8. 堅持使用全等 === 摒棄 == 一但在需要檢查 null || undefined 時可以使用 obj == null氨淌。

  9. 一定要處理 Node.js 中錯誤回調(diào)傳遞進來的 err 參數(shù)泊愧,如:

    try {
      console.log('')
    } catch (err) {
      console.log(err)
    }
    
  10. 定義和使用瀏覽器全局變量時加上 window 前綴(documentnavigator 除外),如:window.num

避免無意中使用到了命名看上去很普通的全局變量(如: open盛正,length拼卵,eventname

ESLint全部可選的規(guī)則在這里蛮艰,可以自由進行配置(.eslintrc.js):http://eslint.cn/docs/rules/

ESlint規(guī)則風(fēng)格

就目前統(tǒng)計,ESlint提供了近250項代碼的限制規(guī)則雀彼,這里說的風(fēng)格是指對250項規(guī)則打開或者關(guān)閉的配置壤蚜。關(guān)于ESlint的配置,在我們通過vue-cli創(chuàng)建項目時(特指webpack徊哑、pwa袜刷、browserify模板),選擇 'standard' 或者 'Airbnb'即可莺丑,不需要做額外操作著蟹。假如在項目創(chuàng)建之后才引入ESLint的安裝步驟在這里:http://eslint.cn/docs/user-guide/getting-started墩蔓。

  • ESlint官方推薦風(fēng)格
    • 安裝:通過在.eslintrc.js添加"extends": "eslint:recommended"使用
    • 規(guī)則:http://eslint.cn/docs/rules/ 帶有標記的部分

ESlint忽略文件

為了兼容一些沒有使用ESLint規(guī)范的文件,我們要對這些文件進行忽略萧豆。

  • 忽略部分代碼

    // 關(guān)閉驗證關(guān)閉校驗
    /*eslint-disable */
    var str= "let's go";
    /*eslint-enable */
    
  • 忽略文件

    // 在根目錄下創(chuàng)建一個.eslintignore文件
    // 忽略build目錄下所有js文件
    build/*.js
    // 忽略adress目錄下所有文件
    src/adress/*
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奸披,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子涮雷,更是在濱河造成了極大的恐慌阵面,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洪鸭,死亡現(xiàn)場離奇詭異样刷,居然都是意外死亡,警方通過查閱死者的電腦和手機览爵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門置鼻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蜓竹,你說我怎么就攤上這事箕母。” “怎么了梅肤?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵司蔬,是天一觀的道長。 經(jīng)常有香客問我姨蝴,道長俊啼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任左医,我火速辦了婚禮授帕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘浮梢。我一直安慰自己跛十,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布秕硝。 她就那樣靜靜地躺著芥映,像睡著了一般。 火紅的嫁衣襯著肌膚如雪远豺。 梳的紋絲不亂的頭發(fā)上奈偏,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天躯护,我揣著相機與錄音惊来,去河邊找鬼。 笑死棺滞,一個胖子當著我的面吹牛裁蚁,可吹牛的內(nèi)容都是我干的矢渊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼枉证,長吁一口氣:“原來是場噩夢啊……” “哼矮男!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刽严,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤昂灵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后舞萄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體眨补,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年倒脓,在試婚紗的時候發(fā)現(xiàn)自己被綠了撑螺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡崎弃,死狀恐怖甘晤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饲做,我是刑警寧澤线婚,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布盆均,位于F島的核電站塞弊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏泪姨。R本人自食惡果不足惜游沿,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肮砾。 院中可真熱鬧诀黍,春花似錦、人聲如沸仗处。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婆誓。三九已至咒精,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旷档,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工歇拆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鞋屈,地道東北人范咨。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像厂庇,于是被迫代替她去往敵國和親渠啊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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

  • 轉(zhuǎn)載 :OpenDiggawesome-github-vue 是由OpenDigg整理并維護的Vue相關(guān)開源項目庫...
    果汁密碼閱讀 23,092評論 8 124
  • 來源:github.com Vue.js開源項目速查表:https://www.ctolib.com/cheats...
    zhangtaiwei閱讀 11,598評論 1 159
  • 從5月3號兒子去德國到今天5月20號权旷,17天中替蛉,兒子與我有微信來往,跟我視頻拄氯,這還是他去德國之后第一次躲查。 今天是5...
    薛小禪閱讀 237評論 0 1
  • 今天要和媽媽弟弟視頻,和家人視頻译柏,我沒有那種期待的喜悅镣煮,有的只是壓力和憂愁。我已經(jīng)做好了今天晚上要被毀掉的心理準備...
    e368a9554226閱讀 238評論 0 1
  • 我喜歡用用鏡頭去留住青春的羞澀與美好鄙麦。照片是我和我朋友在樹林間拍攝的典唇,當時我拿起鏡頭的時候,剛好發(fā)現(xiàn)她臉上的光...
    不二哥1閱讀 263評論 0 0