《vue.js從入門到項目實戰》的項目實戰筆記

vue項目之啓動項目

前言:

vue的基本知識 重點講述《vue.js從入門到項目實戰》的第一章到第四章

vue項目化 重點講述《vue.js從入門到項目實戰》的第六章

接下來就是對第八章的啓動了。

一、理論內容

打造一個線上商城。首頁、詳情頁、購物車、訂單四個頁面。購物車和訂單頁面的動態就沒展示了。

頁面設計

首頁設計:頂部banner有搜索框、購物車和訂單的跳轉鏈接等,是各個頁面所共有的;中部banner有導航;底部有幾件商品的超鏈接;

詳情頁設計:左側banner是商品的詳情圖、右側banner是商品的購物;

購物車設計:表格設置商品;

訂單設計:和購物車設計類似,表格設置訂單;

目錄結構設計

初始目錄

build:開發和生產版本的構建腳本;

config:開發和生產版本的部分構建配置;

dist:由npm run build生成;項目的生產版本,只有HTML、CSS、JavaScript和靜態資源;

src:項目開發的關鍵資源目錄和主要工作空間;

.gitignore:應該被git版本控制工具忽略的文件;

index.html:應該被webpack注入資源的模板HTML文件;

src目錄結構

asset:存放樣式表和圖片;

components:存放vue的單文件模板。目錄下的index.vue、Goods.vue、Cart.vue、Order.vue分別對應首頁、購物頁、購物車、訂單;

config:存放配置項,如商品信息及商品細分類目的導航;

router:路由;

widgets:存放自定義組件,自定義了複選框和跑馬燈;

App.vue:項目的根目錄

main.js:webpack的入口文件,在這裏引入全局資源,如CSS、js等和聲明全局變量。

webpack介紹

webpack是一個模塊打包器,可以將項目中所有資源打包整合注入到指定位置。在這個項目中是通過main.js引入,然後打包到dist文件夾中。在vue CIL構建的項目中,build目錄下存放着webpack的配置文件。

Font Awesome介紹

一套不錯的圖標庫,提供幾百個圖標並且用法簡單,滿足日常開發需求。

方法一:CDN

<link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css">

方法二:cnpm

cnpm install font-awesome --save-dev

之後再main.js中全局引入依賴。

動態資源配置

在src/config/config.js中模擬商品信息;

在src/components/index.vue組件中引入並渲染出來;

把這些信息在config.js中配置的好處是這些信息不僅能在index.vue中使用,也可以在Goods.vue中使用。並且修改的時候只需修改一處。

動態資源構建

用npm run build來構建項目的生產版本。之後再項目根目錄中會出現一個dist文件目錄。

vue CLI無法檢索路徑的字符串,這時可以把靜態資源放在src同級的static目錄下。當vue CLI構建生產版本時,該目錄下的東西就會被注入dist/static中。

動態資源存儲

使用window.localStorage來存儲數據。

window.localStorag來接收對象類型的數據值,所以在讀取和寫入時,我們需要用到瀏覽器內置對象JSON。

自定義組件

封裝兩個組件:首頁幻燈片、購物車頁面的複選框;

二、啓動線上商城

一個人從頭敲代碼到項目建成,會學得很全面。不過我暫時只做初步瞭解,能理解原理以及會修改即可。

首先用cmd進入項目的文件夾;然後安裝項目依賴cnpm install;接着啓動項目npm start;最後在瀏覽器中打開http://localhost:8080

果然成功了。

三、啓動企業網站

發現啓動這麼方便,於是乾脆把剩下幾個也一一嘗試。

理論

響應式設計:

Ethan marcotte在2010年5月提出的概念,指的是網頁在不同尺寸和設備上可響應式地顯示,達到once write,run everywhere的效果。最初的響應式設計用於CSS3中,通過媒體查詢media query判斷設備類型,進而對不同設備設置相應的樣式表。在實際開發過程中,也會使用js對設備類型進行補充判斷。

頁面開發-頁面切換與滑動:

企業官網大都採用一種佈局方式——“頂部導航欄+內容欄”。用戶可以通過頂部導航欄輕鬆切換頁面;

許多網站也習慣把多個內容區從上到下組合成一個長頁面,通過滑動滾動條來切換瀏覽器視窗的位置。還有就是用swiper的組件將頁面設置爲單屏,並以幻燈片翻頁的方式來切換視圖。本項目就是採用這種。

swiper的代碼可以在GitHub上下載好,然後通過靜態腳本方式引用和使用它們。

<link rel="stylesheet" href="path/to/swiper.min.css"

也可以利用npm來安裝swiper。然後在相關組件引入和使用它。

cnpm install swiper --save-dev

劃分內容區

頂層header有logo和中英文切換,是固定不變的。共有四個內容區(首頁、三個展示內容頁)

首頁一般設計一個具有衝擊力的特效。展示內容頁看頁面需要什麼。

中英文語種切換

把幻燈片內的信息提取出來,vue的插值綁定可以設置佔位符,選擇不同語言,網站就要不同的語言展示。首先是把所有信息都納入配置,然後將配置導入組件並綁定到視圖模板上。

啓動

指令如下:

C:\Users\Administrator>cd c:/

c:\>cd C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\bin\RentCar

C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\bin\RentCar>cnpm install

C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\bin\RentCar>npm start

然後成功啓動。

四、啓動掌上新聞

資訊類應用

理論

應用首屏:新增GIF圖作爲啓動動畫,使首屏有一個炫酷的動畫。

應用首頁:搜索欄、tab選項卡和新聞列表三部分。新聞類別用v-for指令獲取數據生成;

新聞詳情:新聞的DOM結構都是定製的,但只需要v-html指令將新聞的DOM結構數據表現出來就可以了。

搜索頁面:歷史記錄、猜你想搜的。用window.localStorage來保存用戶曾輸入過的關鍵字。

搜索結果:和首頁類似,但未加入Tab選項卡。

項目構建

這個項目模擬了完整的前後臺交互流程,新增了data、store、ajax目錄。

data目錄充當數據庫的角色,裏面存儲着應用所有動態數據。category.json保存着新聞的分類數據;List.json保存着新聞的簡介數據;News.json保存着新聞的DOM數據結構;

ajax目錄負責完成與後臺接口的對接,並將數據導流到Vuex全局狀態管理器。

store目錄存儲項目的全局狀態管理器。

啓動

和前面一樣,成功啓動了。但是Chrome瀏覽器卻顯示“請在手機端上訪問”

方法一:F12,然後點擊左上角,顯示手機瀏覽。

結果:不行。

然後刷新一下,可行。

剛剛我差點就想用手機模擬器試一試了,還好谷歌可以模擬。

vue開發手機端,如何在手機端進行項目的預覽和測試

差一點就去試一試了。這個掌上新聞還挺好的。比前兩個更有參考價值。

五、啓動SVG畫圖板

工具類網站

理論

SVG是可伸縮矢量圖形,一種基於XML的圖片格式,尺寸放大或縮小圖片質量不損失,並且可以將SVG元素作爲DOM元素處理。

基本圖形的使用

SVG中的漸變

用Linear Gradient和Radial Gradient。

頁面設計

頂部放logo;左側爲工具類;右側爲菜單欄;中間是畫板;

啓動

按之前的操作啓動。

成功啓動

六、總結

熟悉vue項目的啓動後,其他vue項目也終於會引用了。

在第一個項目中:線上商城學習到了webpack和font awesome;

在第二個項目中:企業網站學習到了響應式、swiper.js、雙語切換;

在第三個項目中:掌上新聞學習到了前後臺交互流程;這一部分很有意思,可以擴展學習後端。第一個項目雖然也有後端,但是沒模擬。

在第四個項目中:SVG畫板學習到了SVG的概念。

總的來說,通過三部分的學習,最終初步會用vue了。

第一部分vue的基本知識 重點講述網站的發展和vue實例與模板語法

第二部分vue項目化 重點講述用vue CIL進行項目化。(前端路由和狀態管理的筆記寫在書上)

第三部分,用四個項目講解vue的項目開發。

之後,嘗試一下github上其他vue項目,然後使用elementUI進行前端網站開發;可能會用到不少組件。到時候一個一個試。

再之後,嘗試一下學習node.js,然後用express做做後端。

剩下就熟能生巧,根據這些工具然後去理解其底層知識,看HTML、CSS、JavaScript、DOM、網絡知識,還有響應式、兼容性、安全、SEO、CSR、SSR、異步編程,還有組件化、less、命名規範、性能優化、內存管理、工程化思想。

最後不斷實踐,不斷理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章