在vue-cli 2.X的時候,也寫過一篇相似的文章,在八月份的時候vue-cli已經更新到了3.X,新版本的腳手架,功能灰常強大,試用事後很是喜歡,寫篇教程來幫助各位踩一下坑。css
游泳、健身瞭解一下: 博客、 前端積累文檔、 公衆號、 GitHub
.vue
文件若是你事先已經全局安裝了舊版本的vue-cli
(1.x 或 2.x),你須要先卸載它:html
npm uninstall vue-cli -g
3.x須要在Node.js
8.9或更高版本(推薦8.11.0+),點擊這裏能夠安裝node前端
大多數人都安裝過了node,使用下面的命令行查詢你的node版本:vue
node -v
若是你的版本不夠,可使用下面的命令行來把Node版本更新到最新的穩定版:node
npm install -g n // 安裝模塊 這個模塊是專門用來管理node.js版本的 n stable // 更新你的node版本
mac下,更新版本的時候,若是提示你權限不夠:webpack
sudo n stable // 我就遇到了
npm install -g @vue/cli // 安裝cli3.x vue --version // 查詢版本是否爲3.x
若是cli3.x用的不舒服,cli3也能使用2.x模板:git
npm install -g @vue/cli-init // 安裝這個模塊 // 就可使用2.x的模板:vue init webpack my-project
.vue
文件:npm install -g @vue/cli-service-global
安裝完擴展以後,能夠隨便找個文件夾建一個以下方示例的.vue文件,而後跑起來:github
vue serve App.vue // 啓動服務 vue build App.vue // 打包出生產環境的包並用來部署
如圖所示,服務啓動的時候回生成一個node_modules
包,稍微測試了一下,服務支持ES6語法和熱更新,打包的時候會生成一個dist
文件夾。(新建一個test.vue文件也只有一個node_modules
/dist
文件夾)web
這是個很棒的功能,用於開發一個庫、組件,作一些小demo等都是很是適合的!vue-router
vue create hello-cli3
default
(默認配置)和Manually select features
(手動配置)默認配置只有babel
和eslint
其餘的都要本身另外再配置,因此咱們選第二項手動配置。
koro
選項,這樣之後咱們在進行建立項目的時候只需使用原先的配置就能夠了,而不用再進行配置。
根據你的項目須要來選擇配置,空格鍵是選中與取消,A鍵是全選
? Check the features needed for your project: (Press <space> to select, to toggle all, to invert selection)
// 檢查項目所需的功能:(按<space>選擇,切換全部,反轉選擇)
( ) TypeScript // 支持使用 TypeScript 書寫源碼
( ) Progressive Web App (PWA) Support // PWA 支持
( ) Router // 支持 vue-router
( ) Vuex // 支持 vuex
( ) CSS Pre-processors // 支持 CSS 預處理器。
( ) Linter / Formatter // 支持代碼風格檢查和格式化。
( ) Unit Testing // 支持單元測試。
( ) E2E Testing
若是你選擇了Css預處理器選項,會讓你選擇這個
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default):
// 選擇CSS預處理器(默認支持PostCSS,Autoprefixer和CSS模塊):
SCSS/SASS
LESS
Stylus
history
模式:Use history mode for router? (Requires proper server setup for index fallback in production)
// 路由使用history模式?(在生產環境中須要適當的服務器設置以備索引)
> ESLint with error prevention only ESLint + Airbnb config ESLint + Standard config ESLint + Prettier
以前寫了篇VsCode保存時自動修復Eslint錯誤推薦一下。
? Pick additional lint features: (Press <space> to select, to toggle all, to invert selection)
( ) Lint on save // 保存就檢測
( ) Lint and fix on commit // fix和commit時候檢查
? Pick a E2E testing solution: (Use arrow keys) ❯ Cypress (Chrome only) Nightwatch (Selenium-based)
一般咱們會選擇獨立放置,讓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裏
Save this as a preset for future projects? (Y/n) // 是否記錄一下以便下次繼續使用這套配置 // 選保存以後,會讓你寫一個配置的名字: Save preset as: name // 而後你下次進入配置能夠直接使用你此次的配置了
一塊兒來看一下新項目的結構(下圖),會發現2.x的webpack配置的目錄不見了,也就是沒有build、config這兩個文件夾了:
在自定義一下webpack的配置,咱們須要在根目錄新建一個vue.config.js
文件,文件中應該導出一個對象,而後進行配置,詳情查閱官方文檔
// vue.config.js module.exports = { // 選項... }
http://localhost:8080
:
vue ui
當咱們點擊hello -cli3項目,就會進入項目管理的界面
![](https://user-gold-cdn.xitu.io/2018/11/10/166fd41bde538496?w=1913&h=996&f=png&s=223258)
能夠說很認真了,但願你們看完可以有些收穫,趕忙試試新版的vue-cli吧!
以上2018.11.10
參考資料: