一份超級詳細的Vue-cli3.0使用教程[趕忙來試試!]

前言

在vue-cli 2.X的時候,也寫過一篇相似的文章,在八月份的時候vue-cli已經更新到了3.X,新版本的腳手架,功能灰常強大,試用事後很是喜歡,寫篇教程來幫助各位踩一下坑。css

前端進階積累公衆號GitHubhtml

主要內容:

  1. 零配置啓動/打包一個.vue文件
  2. 詳細的搭建過程
  3. 重點推薦:使用圖形化界面建立/管理/運行項目

安裝:

卸載舊版本:

若是你事先已經全局安裝了舊版本的vue-cli(1.x 或 2.x),你須要先卸載它:前端

npm uninstall vue-cli -g
複製代碼

Node版本要求:

3.x須要在Node.js8.9或更高版本(推薦8.11.0+),點擊這裏能夠安裝nodevue

大多數人都安裝過了node,使用下面的命令行查詢你的node版本:node

node -v
複製代碼

若是你的版本不夠,可使用下面的命令行來把Node版本更新到最新的穩定版webpack

npm install -g n // 安裝模塊 這個模塊是專門用來管理node.js版本的
n stable // 更新你的node版本
複製代碼

mac下,更新版本的時候,若是提示你權限不夠:git

sudo n stable // 我就遇到了
複製代碼

安裝vue-cli:

npm install -g @vue/cli // 安裝cli3.x
vue --version // 查詢版本是否爲3.x
複製代碼

若是cli3.x用的不舒服,cli3也能使用2.x模板github

npm install -g @vue/cli-init // 安裝這個模塊
// 就可使用2.x的模板:vue init webpack my-project
複製代碼

零配置啓動/打包一個.vue文件:

安裝擴展:

npm install -g @vue/cli-service-global
複製代碼

安裝完擴展以後,能夠隨便找個文件夾建一個以下方示例的.vue文件,而後跑起來:web

vue serve App.vue // 啓動服務
vue build App.vue // 打包出生產環境的包並用來部署
複製代碼

以下圖,只需一個.vue文件,就能迅速啓動一個服務:

如圖所示,服務啓動的時候回生成一個node_modules包,稍微測試了一下,服務支持ES6語法和熱更新,打包的時候會生成一個dist文件夾。(新建一個test.vue文件也只有一個node_modules/dist文件夾)vue-router

這是個很棒的功能,用於開發一個庫、組件,作一些小demo等都是很是適合的


第一次建立項目:

1. 命令行:

vue create hello-cli3 
複製代碼
  • hello-cli3是文件夾名字,若是不存在會自動建立文件夾,若是存在會安裝到那個文件夾中。

  • 相比2.x的時候須要本身手動建立一個文件夾,這裏也算是一個小優化吧。

2. 選擇模板:

  • 一開始只有兩個選項: default(默認配置)和Manually select features(手動配置)

    默認配置只有babeleslint其餘的都要本身另外再配置,因此咱們選第二項手動配置。

  • 在每次選擇手動配置以後,會詢問你是否保存配置,也就是圖片中的koro選項,這樣之後咱們在進行建立項目的時候只需使用原先的配置就能夠了,而不用再進行配置。

3. 選擇配置:

  • 根據你的項目須要來選擇配置,空格鍵是選中與取消,A鍵是全選

    ? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> to invert selection) 
      // 檢查項目所需的功能:(按<space>選擇,<a>切換全部,<i>反轉選擇)
      >( ) TypeScript                                 // 支持使用 TypeScript 書寫源碼
       ( ) Progressive Web App (PWA) Support          // PWA 支持
       ( ) Router                                     // 支持 vue-router
       ( ) Vuex                                       // 支持 vuex
       ( ) CSS Pre-processors                         // 支持 CSS 預處理器。
       ( ) Linter / Formatter                         // 支持代碼風格檢查和格式化。
       ( ) Unit Testing                               // 支持單元測試。
       ( ) E2E Testing  
    複製代碼

4. 選擇css預處理器:

  • 若是你選擇了Css預處理器選項,會讓你選擇這個

    ? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default):
      // 選擇CSS預處理器(默認支持PostCSS,Autoprefixer和CSS模塊):
      > SCSS/SASS
        LESS
        Stylus
    複製代碼

5. 是否使用路由的history模式:

  • 這裏我建議選No,這樣打包出來丟到服務器上能夠直接使用了,後期要用的話,也能夠本身再開起來。

  • 選yes的話須要服務器那邊再進行設置。

    Use history mode for router? (Requires proper server setup for index fallback in production) 
      // 路由使用history模式?(在生產環境中須要適當的服務器設置以備索引)
    複製代碼

6. 選擇Eslint代碼驗證規則:

> ESLint with error prevention only
  ESLint + Airbnb config
  ESLint + Standard config
  ESLint + Prettier
複製代碼

7. 選擇何時進行代碼規則檢測:

  • 建議選保存就檢測,等到commit的時候,問題可能都已經積累不少了。

  • 以前寫了篇VsCode保存時自動修復Eslint錯誤推薦一下。

    ? Pick additional lint features: (Press <space> to select, <a> to toggle all, <i> to invert selection)
      >( ) Lint on save // 保存就檢測
       ( ) Lint and fix on commit // fix和commit時候檢查
    複製代碼

8. 選擇e2e測試:

? Pick a E2E testing solution: (Use arrow keys)
❯ Cypress (Chrome only) 
  Nightwatch (Selenium-based) 
複製代碼

9. 把babel,postcss,eslint這些配置文件放哪:

  • 一般咱們會選擇獨立放置,讓package.json乾淨些

    ? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? (Use arrow keys)
      > In dedicated config files // 獨立文件放置
        In package.json // 放package.json裏
    複製代碼

10. 是否保存配置:

Save this as a preset for future projects? (Y/n) // 是否記錄一下以便下次繼續使用這套配置
// 選保存以後,會讓你寫一個配置的名字:
Save preset as:  name // 而後你下次進入配置能夠直接使用你此次的配置了
複製代碼

11. 下載依賴

12. webpack配置的目錄不見了:

一塊兒來看一下新項目的結構(下圖),會發現2.x的webpack配置的目錄不見了,也就是沒有build、config這兩個文件夾了:

  • 這種方式的優點對小白來講很是友好,不會一上來就兩個文件夾,一堆文件,看着腦殼都大了。

  • 而後在引用別人的配置的時候,也很是方便,直接將文件複製過來就行了。

  • 在自定義一下webpack的配置,咱們須要在根目錄新建一個vue.config.js文件,文件中應該導出一個對象,而後進行配置,詳情查閱官方文檔

    // vue.config.js
      module.exports = {
        // 選項...
      }
    複製代碼
  • 還有一些小變更像:static文件夾改成public了,router文件夾變成了單個文件之類的(我以前一直這麼作,嘿嘿)。

13.啓動項目:

  • 啓動項目:npm run serve // 不是以前的 npm run dev

  • 打開http://localhost:8080


使用圖形化界面建立/管理/運行項目:

啓動圖形化界面

vue ui 
複製代碼
  • 這是個全局的命令 在哪一個文件夾均可以打開

  • 界面(下圖),重要的項目能夠收藏起來(置頂):

建立項目和導入項目:

  1. 目錄選中以後,導入項目點擊下面的導入就能夠了。

  2. 建立項目,填一個文件夾名字:

  3. 而後選一下預先保存好的設置就能夠了,很是方便,建議採用圖形界面來建立項目:

項目管理:

當咱們點擊hello -cli3項目,就會進入項目管理的界面

1. 儀表盤:

  • 這個儀表盤,主要是爲了咱們操做方便而設置的

  • 能夠點擊右上角的按鈕,來添加/移動這些功能選項。

2. vue-cli3.x插件:

  • vue-cli3的插件功能,詳情瞭解官方文檔

  • cli3插件安裝的過程:

    cli3插件安裝的過程

3. 項目依賴

  • 直接在圖形界面管理依賴很舒服了!

  • 安裝依賴的時候,要記得選擇開發依賴/運行依賴!

4. 項目配置

  • 能夠對cli進行一些配置、Eslint規則修改:

5. 任務:

  • serve 運行項目,點擊直接運行,不再用輸入命令了!

  • 能夠清楚的看到各個模塊用了多久,方便咱們針對性的進行優化

  • build 打包項目:這裏主要展現了圖表的功能,比之前2.x生成報告更加直觀,超級棒!

6. 其餘

  • 夜間風格界面,我更喜歡這個界面

  • 直接打開編輯器,很棒了!

  • 還有一些亂七八糟的按鈕


結語

能夠說很認真了,但願你們看完可以有些收穫,趕忙試試新版的vue-cli吧

但願看完的朋友能夠點個喜歡/關注,您的支持是對我最大的鼓勵。

前端進階積累公衆號GitHub

以上2018.11.10

參考資料:

vue-cli3官方文檔

vue-cli3.0搭建與配置