vue-cli3.0 自我記錄
- 其實在2018年8月10號,vue-cli3.0就已經面世了,由於項目中應用的全是2.x版本,所以並不了解3.0的vue-cli發生了什么變化,那今天嘗試了下遇見的問題,在此做個記錄吧!
問題一 :安裝vue/cli
- 哈哈哈 安裝就出現了個問題 ,占用了我20分鍾,實在是太low了,我承認我是菜鳥哈哈哈
- 根據官網提示 如若想要安裝vue/cli 必須先要把卸載以前的版本 要先執行
npm uninstall -g vue-cli
然后呢?然后就是安裝新的版本
npm install -g @vue/cli
對的 是vue/cli 不是vue-cli。 那問題出現在了那里呢?
問題出現在了在你安裝的是會報錯 npm ERR write after end
那經過查資料 了解 解決辦法是
npm install npm @5.6.0
將npm 版本降低到5.6 而后在執行
npm install -g @vue/cli
即可!
(太墨跡了 哈哈哈 但是 不知道為什么 一寫博客就那么多的閑白!)
第一次創建項目:
1.命令行
vue create my-vue-cli3.0
// my-vue-cli3.0 是項目名字 隨意
2.選擇模板
- 一開始只有兩個選項: default (默認配置)和 Manually select features (手動配置)
默認配置只有 babel 和 eslint 其他的都要自己另外再配置,所以我們選第二項手動配置。
在每次選擇手動配置之后,會詢問你是否保存配置,也就是圖片中的 koro 選項,這樣以后我們在進行創建項目的時候 只需使用原先的配置 就可以了,而不用再進行配置。
- 選擇配置:
根據你的項目需要來選擇配置,空格鍵是選中與取消,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
- 選擇css預處理器:
如果你選擇了Css預處理器選項,會讓你選擇這個
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default):
// 選擇CSS預處理器(默認支持PostCSS,Autoprefixer和CSS模塊):
> SCSS/SASS
LESS
Stylus
- 是否使用路由的 history 模式:
這里我建議選No,這樣打包出來丟到服務器上可以直接使用了,后期要用的話,也可以自己再開起來。
選yes的話需要服務器那邊再進行設置。
Use history mode for router? (Requires proper server setup for index fallback in production)
// 路由使用history模式?(在生產環境中需要適當的服務器設置以備索引)
- 選擇Eslint代碼驗證規則:
> ESLint with error prevention only
ESLint + Airbnb config
ESLint + Standard config
ESLint + Prettier
- 選擇什么時候進行代碼規則檢測:
建議選保存就檢測,等到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時候檢查
- 選擇e2e測試:
? Pick a E2E testing solution: (Use arrow keys)
❯ Cypress (Chrome only)
Nightwatch (Selenium-based)
- 把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里
- 是否保存配置:
Save this as a preset for future projects? (Y/n) // 是否記錄一下以便下次繼續使用這套配置
// 選保存之后,會讓你寫一個配置的名字:
Save preset as: name // 然后你下次進入配置可以直接使用你這次的配置了
-
下載依賴
-
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