本文是一篇實踐文,詳細記錄移動端vue項目構建全過程,其中包括webpack、vue-router、axios、eslint、scss等的相關配置。
github地址:https://github.com/sunhuili/v...css
這裏用的node是8.9.3版本,以前8.1的版本會有點問題,建議升級到最新可用版本。cnpm跟npm功能同樣,npm裝不了的包,能夠用cnpm。html
npm install vue-cli -g
vue init webpack xxx
(xxx爲項目名)npm install
),安裝時間有點久,耐心等待……f>出現以下圖就安裝好了,到項目文件夾下npm run dev
,打開瀏覽器輸入對應路由就能夠看到本身的網站了。
vue
cnpm install --save-dev eslint eslint-plugin-vue
,傳送門
關於自定義規則
在剛剛引用eslint-plugin-vue的文件中有個rules,在這裏就能夠添加咱們自定義的規範。具體的規範設置:eslint中文。node
cnpm install --save-dev node-sass
、sass-loadercnpm install --save-dev sass-loader
。cnpm install
(由於包的安裝順序會有影響,因此先把須要的包保存到package.json,而後讓他自動安裝一遍)
cnpm install --save vuex
a> strict嚴格模式,有利於代碼規範和數據管理
b> modules能夠加入子模塊,建議儘可能把數據存在子模塊中,主入口保持乾淨,只作配置用。子模塊的配置統一在‘文件層級’一節中將,這裏只作初步配置。webpack
cnpm install --save 'axios'
a>全局配置包括請求時長限制、後端接口處理文件路徑、請求頭配置等
b>請求攔截:發請求前進行一些處理
若請求配置成功,則對post請求參數作序列化處理,而後發請求
若請求配置不成功,則不發請求
c>響應攔截:接收後端響應前進行一些處理
若成功,則表示限定時間內收到了後端響應,即「響應成功」,返回resolve(response.data)。
若失敗,則表示限定時間內沒有收到後端響應,即「響應失敗」,返回reject(error)。
d>針對響應成功,還有請求成功和請求失敗之分,這個由先後端約定執行,在api的配置中實現,這裏只配置axios相關。ios
至此,構建項目的相關配置和依賴包已基本安裝配置完畢,其餘的配置按需自取。接下來開始搭建項目,使用當前配置進行移動端web開發git
首先先看一下當前的目錄結構和package.json(只截取依賴包部分,部分構建項目時自動安裝的依賴包沒有截取到),由於接下來將在現有配置的基礎上開發移動端項目,重點在於文件層級結構的搭建。github
a>_reset.scss爲移動端樣式(網上直接能夠搜到),在App.vue中引入該文件;
b>在index.html中配置好各類移動端meta屬性,而後設置html、body、#app高爲100%;
c>main.js中引入移動端flexible佈局,能夠以iphone爲基準:375的寬度1rem=20px。
d>_variable.scss爲全局樣式參數配置,如主題色$theme-color-black: #333333;
等web
首先明確兩點
一、vue-router、vuex、scss的文件層級跟着組件的文件層級走。
二、組件的文件層級依照項目的功能模塊劃分。
在此基礎上咱們能夠創建以下文件層級結構,儘可能讓根目錄足夠乾淨,文件儘可能收錄在對應的具體模塊文件夾中。
這樣可讓文件層次夠清晰,方便直接找到功能配置和具體業務代碼,這對以後的維護影響仍是很大的。vue-router
咱們能夠初步把組件分爲三類:根組件、頁面組件、其餘組件:
本文詳細介紹了移動端vue項目構建全過程,方便新手體驗完整流程,具體頁面搭建就是堆積木了。關於接口配置部分仍在研究,這部分須要後端接口支持、以及多種狀況的實驗,等何時研究透了再詳細寫一下。