前言
在vue-cli 2.X的時候,也寫過一篇類似的文章,在八月份的時候vue-cli已經更新到了3.X,新版本的腳手架,功能灰常強大,試用過後非常喜歡,寫篇教程來幫助各位踩一下坑。
主要內容:
- 零配置啟動/打包一個
.vue
檔案 - 詳細的搭建過程
- 重點推薦:使用圖形化介面建立/管理/執行專案
安裝:
解除安裝舊版本:
如果你事先已經全域性安裝了舊版本的vue-cli
(1.x 或 2.x),你需要先解除安裝它:
npm uninstall vue-cli -g
複製程式碼
Node版本要求:
3.x需要在Node.js
8.9或更高版本(推薦8.11.0+),點選這裡可以安裝node
大多數人都安裝過了node,使用下面的命令列查詢你的node版本:
node -v
複製程式碼
如果你的版本不夠,可以使用下面的命令列來把Node版本更新到最新的穩定版:
npm install -g n // 安裝模組 這個模組是專門用來管理node.js版本的
n stable // 更新你的node版本
複製程式碼
mac下,更新版本的時候,如果提示你許可權不夠:
sudo n stable // 我就遇到了
複製程式碼
安裝vue-cli:
npm install -g @vue/cli // 安裝cli3.x
vue --version // 查詢版本是否為3.x
複製程式碼
如果cli3.x用的不舒服,cli3也能使用2.x模板:
npm install -g @vue/cli-init // 安裝這個模組
// 就可以使用2.x的模板:vue init webpack my-project
複製程式碼
零配置啟動/打包一個.vue
檔案:
安裝擴充套件:
npm install -g @vue/cli-service-global
複製程式碼
安裝完擴充套件之後,可以隨便找個資料夾建一個如下方示例的.vue檔案,然後跑起來:
vue serve App.vue // 啟動服務
vue build App.vue // 打包出生產環境的包並用來部署
複製程式碼
如下圖,只需一個.vue檔案,就能迅速啟動一個服務:
如圖所示,服務啟動的時候回生成一個node_modules
包,稍微測試了一下,服務支援ES6語法和熱更新,打包的時候會生成一個dist
資料夾。(新建一個test.vue檔案也只有一個node_modules
/dist
資料夾)
這是個很棒的功能,用於開發一個庫、元件,做一些小demo等都是非常適合的!
第一次建立專案:
1. 命令列:
vue create hello-cli3
複製程式碼
-
hello-cli3是資料夾名字,如果不存在會自動建立資料夾,如果存在會安裝到那個資料夾中。
-
相比2.x的時候需要自己手動建立一個資料夾,這裡也算是一個小優化吧。
2. 選擇模板:
-
一開始只有兩個選項:
default
(預設配置)和Manually select features
(手動配置)預設配置只有
babel
和eslint
其他的都要自己另外再配置,所以我們選第二項手動配置。 -
在每次選擇手動配置之後,會詢問你是否儲存配置,也就是圖片中的
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
複製程式碼
-
這是個全域性的命令 在哪個資料夾都可以開啟
-
介面(下圖),重要的專案可以收藏起來(置頂):
建立專案和匯入專案:
-
目錄選中之後,匯入專案點選下面的匯入就可以了。
-
建立專案,填一個資料夾名字:
-
然後選一下預先儲存好的設定就可以了,非常方便,建議採用圖形介面來建立專案:
專案管理:
當我們點選hello -cli3專案,就會進入專案管理的介面
1. 儀表盤:
-
這個儀表盤,主要是為了我們操作方便而設定的
-
可以點選右上角的按鈕,來新增/移動這些功能選項。
2. vue-cli3.x外掛:
-
vue-cli3的外掛功能,詳情瞭解官方文件
-
cli3外掛安裝的過程:
3. 專案依賴
-
直接在圖形介面管理依賴很舒服了!
-
安裝依賴的時候,要記得選擇開發依賴/執行依賴!
4. 專案配置
-
可以對cli進行一些配置、Eslint規則修改:
5. 任務:
-
serve 執行專案,點選直接執行,再也不用輸入命令了!
-
可以清楚的看到各個模組用了多久,方便我們針對性的進行優化:
-
build 打包專案:這裡主要展示了圖表的功能,比以前2.x生成報告更加直觀,超級棒!
6. 其他
-
夜間風格介面,我更喜歡這個介面
-
直接開啟編輯器,很棒了!
-
還有一些亂七八糟的按鈕
結語
可以說很認真了,希望大家看完能夠有些收穫,趕緊試試新版的vue-cli吧!
希望看完的朋友可以點個喜歡/關注,您的支援是對我最大的鼓勵。
以上2018.11.10
參考資料: