項目vue2.0仿外賣APP(三)


項目的結構如下:

     

     

     

項目資源准備

准備項目的各種圖片資源等等

注意:在webpack可以不用css sprite,直接用單張圖片,因為它會幫忙打包。

還有SVG圖片,放大之后不會影響質量,在移動端開發中,通常會把色彩單一的圖片做成SVG圖片。這些不是直接用,利用一些工具去把這些SVG圖片去轉化成一個叫圖標字體的文件,就可以在CSS引用了。

圖標字體制作

在項目開發前期,我們需要將設計師給的一些圖片制作成字體圖標

用一個叫IcoMoon的工具(https://icomoon.io/),它本身有的圖標可以查看IcoMoon App,要用自定義圖標的話可以在IcoMoon App里面點擊Import Icons,將所有的SVG圖片導入,就可以下載使用了。(里面的Get Code可以查看使用方法)。在下載之前可以點擊左上角的preferences,設置一下名稱:sell-icon

項目目錄設計

所有代碼都在src文件目錄下

入口文件main.js

整個頁面的vue實例文件App.vue

components:存放我們的組件文件,但我們不會像hello.vue一樣直接放在里面,我們會多件一個子目錄,像這樣:

這樣做是因為一個vue組件除了它的.vue文件以外,還可能包含一個圖片相關資源等等。之前說過,組件一個很重要的設計原則就是就近維護,把一個組件相關資源都放在一個目錄下。

還要創建一個common目錄,包好一個公共的模塊和資源,再在它其中添加三個子目錄。

在這兒項目中,我們使用的css預處理器是stylus。

結構如下圖:

並且將圖標字體生成的style.css添加到stylus目錄下,並改名為icon.styl,並改為stylus語法:把括號和分號去掉。

asset目錄刪掉。

 

mock數據(模擬后台數據)

作為前端經常需要模擬后台數據,我們稱之為mock。

http://blog.csdn.net/sysuzjz/article/details/50317531

mock 的真正意義在於簡化測試環境。假如你現在要測試一個dao,但是你有不想構建數據庫環境就可以用mock模擬數據庫的返回結果。

數據來源:data.json

我們模擬的數據請求就是從這里面讀取數據,接下來就來編寫這些接口。

打開build目錄-dev-server.js(就是我們開發的webpack打包的一個入口文件),打開之后使用express這個框架去指一個nodeserver,我們也可以用express-router來編寫這些接口請求。

 

先拿到這些數據:

var appData = require('../data.json');
var seller = appData.seller;
var goods = appData.goods;
var ratings = appData.ratings;

如圖:

在編寫路由,並編寫接口:

var apiRoutes = express.Router();

apiRoutes.get('/seller', function (req, res) {
  res.json({
    errno: 0,
    data: seller
  });
});

apiRoutes.get('/goods', function (req, res) {
  res.json({
    errno: 0,
    data: goods
  });
});

apiRoutes.get('/ratings', function (req, res) {
  res.json({
    errno: 0,
    data: ratings
  });
});

要在express使用它,我們需要調用express的變量app:

 

app.use('/api', apiRoutes);

 

這樣我們就可以直接通過’/goods’來獲取數據了。

完整的dev-server.js:

完了之后要重新運行cnpm run dev,因為我們改的是node文件,然后http://localhost:8080/api/seller,這樣就返回了數據:

當然,我們也可以利用Google的插件jsonview將數據格式化。

http://localhost:8080/api/goods

 

http://localhost:8080/api/ratings

這樣數據也已經有了,接下來就可以來編寫這個頁面了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM