欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用vscode開發(fā)vue應用的方法步驟

 更新時間:2019年05月06日 09:50:05   作者:張京  
這篇文章主要介紹了用vscode開發(fā)vue應用的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

現(xiàn)在用VSCode開發(fā)Vue.js應用幾乎已經(jīng)是前端的標配了,但很多時候我們看到的代碼混亂不堪,作為一個前端工程師,單引號雙引號亂用,一段有分號一段沒有分號,有的地方有逗號有的地方?jīng)]有逗號,空格回車都對不齊,還說自己做事認真,這不是開玩笑的事情。

我們今天從頭開始,完整地講述一下一個重度代碼潔癖患者該如何用vscode開發(fā)vue,以及如何把一個已經(jīng)可以宣判死刑的全身各種格式錯誤幾萬條的項目整容成標準美女。

從安裝開始

為了準確起見,我們把vscode里所有插件全部禁用,把用戶設置清空,以讓它盡可能恢復成原始的樣子:

作為代碼潔癖患者,對于系統(tǒng)的版本要求一定也是最苛刻的,不管什么時候,都讓我們把所有的系統(tǒng)能升級的都升級到最高版本:

npm install -g @vue/cli

然后,我們開始創(chuàng)建項目:

vue create hello-world

在這里,一定要選擇第一項:babel + eslint,這兩個是必不可少的。我見到有些人嫌eslint麻煩,居然在項目建立好之后手工把eslint關掉的,簡直無語。

安裝完畢:

我們先不急著執(zhí)行,執(zhí)行代碼是最容易的事情,我們先打開代碼看一下:

好吧,至少我們需要先安裝vetur插件。這幾乎已經(jīng)確定是開發(fā)vue項目的標配了,即使我不說,vscode也會強烈建議你安裝它。

裝上vetur以后多少有點人樣了。接下來我們來試一試能不能自動格式化,這部分才是潔癖患者的最愛。胡亂加幾個空格,然后保存試試看:

不能格式化,連個提示都沒有!

用lint格式化

就算vscode里的vetur不能幫我們自動格式化,好在package.json命令里還有一個lint命令,我們看看lint命令能不能幫我們自動格式化:

lint居然說沒有錯誤!明明就是多了很多空格的錯誤好吧,為什么?

這是因為缺省的vue-cli沒有為我們安裝@vue/prettier插件,我們先來手工安裝一下:

yarn add -D @vue/eslint-config-prettier

然后在package.json或者.eslintrc.js或者其它什么你設置eslint的地方,給它加上:

 "extends": [
   "plugin:vue/essential",
   "eslint:recommended",
   "@vue/prettier"
  ],

特別是最后這一個@vue/prettier,非常重要。然后再執(zhí)行yarn lint。多余的空格被自動干掉了,但是我們發(fā)現(xiàn)有一些地方同時也被篡改了:

所有的單引號被變成雙引號了,原本行尾沒有的分號被加上了分號。這是為什么呢?因為我們雖然引入了prettier,但是還沒有對prettier做設置,我們在項目的根目錄下創(chuàng)建一個.prettierrc.js文件,然后在其中加入:

module.exports = {
 semi: false,
 singleQuote: true
}

再次執(zhí)行yarn lint,現(xiàn)在我們看到lint已經(jīng)能夠起作用了。它不但能把我們多余插入的空格刪掉,并且能按照規(guī)則把雙引號變成單引號,把行尾多余的分號刪掉。當然,關于行尾加不加分號這是一個哲學命題,你可以根據(jù)你個人的喜好自行決定。在這里,我們權且按照vue-cli的標配執(zhí)行。

到這一步很關鍵,假設你拿到一個爛的不再爛的vue項目,里面有幾千個.vue文件,幾萬個各種格式錯誤,也都能通過yarn lint這一行命令把它們?nèi)啃拚^來!

在vscode里格式化

事情還沒有完,我們注意到雖然yarn lint命令能在編寫完代碼之后幫我們格式化,但是既然我們是用vscode進行開發(fā),我們當然希望能在vscode里直接看到對于錯誤的標注。

這時候我們需要在vscode里再安裝一個插件eslint。

你以為安裝上eslint插件就行了嗎?不行的。因為eslint并不知道我們的.vue文件里面包含了js語法,所以還需要打開我們的vscode設置文件。

注意:這里一定要設置到項目的設置里,而不要只是設置到你自己個人的設置里,否則你團隊的小伙伴隨便一改又亂掉了。正確的方法是在你項目的文件夾下有一個.vscode文件夾,而vue最討厭的地方是它居然會把這個文件夾放到.gitignore里,這個錯誤你必須要糾正過來,也就是說從.gitignore文件里把.vscode刪掉。切切。

在你項目的settings.json里文件里添加以下代碼:

{
 "eslint.autoFixOnSave": true,
 "eslint.validate": [
  "javascript",
  "javascriptreact",
  {
   "language": "vue",
   "autoFix": true
  }
 ],
}

這時候所有錯誤都被標注出來了,注意看左側,一定要讓這個settings.json文件是綠色的,而不能是灰色的,如果是灰色的,請檢查你的.gitignore文件:

因為我們在settings.json文件里設置了autoFixOnSave,所以不管多么亂的格式,只要一按Ctrl+S保存,自動就幫我們把代碼格式整理好了,是不是很方便呢?

和Prettier的沖突

有些時候我們的vscode里插件裝的比較多,譬如還安裝了prettier插件,因為我們不只開發(fā)vue項目,可能還有其它類型的js項目特別是傳統(tǒng)js項目,需要用到prettier進行美化,而prettier的一些功能是會和eslint相沖突的,比如說我們在全局設置了prettierformatOnSave,這個功能就會和eslintautoFixOnSave打架,為了避免這個矛盾,我們通常還會在本項目的settings.json文件里再多加幾個選項,類似于這樣:

 "editor.tabSize": 2,
 "editor.formatOnSave": false,
 "prettier.semi": false,
 "prettier.singleQuote": true

有了這些設置,基本上prettier就不會和eslint打架了。

小結

以上就是用vscode開發(fā)vue程序的標配,并不像網(wǎng)上有些文章說的那么簡單,不是只需要配一個eslint就能解決的事情,這里還用到了vetur,eslintprettier,把幾個工具綜合用好,才能真正達到我們的錯誤隨時可見,保存自動修改,更正既往錯誤的目的。希望每個前端工程師寫出的代碼都如出一人之手,漂亮簡潔干凈。

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

您可能感興趣的文章:

相關文章

  • vue 計時器組件的實現(xiàn)代碼

    vue 計時器組件的實現(xiàn)代碼

    本篇文章主要介紹了vue 計時器組件的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 關于在vue中實現(xiàn)過渡動畫的代碼示例

    關于在vue中實現(xiàn)過渡動畫的代碼示例

    Vue是一款流行的前端框架,支持過渡動畫的實現(xiàn)是其中的一項重要特性,在Vue中,使用過渡動畫可以為用戶提供更加友好的用戶體驗,下面我將為大家介紹一下子如何在Vue中實現(xiàn)過渡動畫,需要的朋友可以參考下
    2023-06-06
  • Vue實現(xiàn)移除數(shù)組中特定元素的方法小結

    Vue實現(xiàn)移除數(shù)組中特定元素的方法小結

    這篇文章主要介紹了Vue如何優(yōu)雅地移除數(shù)組中的特定元素,文中介紹了單個去除和批量去除的操作方法,并通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-03-03
  • 關于el-table表格組件中插槽scope.row的使用方式

    關于el-table表格組件中插槽scope.row的使用方式

    這篇文章主要介紹了關于el-table表格組件中插槽scope.row的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue實踐---根據(jù)不同環(huán)境,自動轉換請求的url地址操作

    vue實踐---根據(jù)不同環(huán)境,自動轉換請求的url地址操作

    這篇文章主要介紹了vue實踐---根據(jù)不同環(huán)境,自動轉換請求的url地址操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Vue3+Hooks實現(xiàn)4位隨機數(shù)和60秒倒計時的示例代碼

    Vue3+Hooks實現(xiàn)4位隨機數(shù)和60秒倒計時的示例代碼

    Vue3的Hooks是一種新的 API,本文主要介紹了Vue3+Hooks實現(xiàn)4位隨機數(shù)和60秒倒計時的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • vue開發(fā)之moment的介紹與使用

    vue開發(fā)之moment的介紹與使用

    moment是一款多語言支持的日期處理類庫, 在vue中如何使用呢?這篇文章主要給大家介紹了關于vue之moment使用的相關資料,需要的朋友可以參考下
    2021-05-05
  • 4種方案帶你探索Vue代碼復用的前世今生

    4種方案帶你探索Vue代碼復用的前世今生

    我們所熟知的Vue.js也在如何提取公共代碼復用方面也一直在探索優(yōu)化,本文小編就來和各位聊聊Vue.js代碼復用的前世今生,希望對大家學習Vue有一定的幫助
    2023-05-05
  • vue實現(xiàn)彈窗翻頁多選效果

    vue實現(xiàn)彈窗翻頁多選效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)彈窗翻頁多選效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • vue實現(xiàn)實時上傳文件進度條

    vue實現(xiàn)實時上傳文件進度條

    這篇文章主要為大家詳細介紹了vue實現(xiàn)實時上傳文件進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論