项目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: ,
data: seller
});
});
apiRoutes.get('/goods', function (req, res) {
res.json({
errno: ,
data: goods
});
});
apiRoutes.get('/ratings', function (req, res) {
res.json({
errno: ,
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

这样数据也已经有了,接下来就可以来编写这个页面了。
项目vue2.0仿外卖APP(三)的更多相关文章
- 项目vue2.0仿外卖APP(四)
组件拆分 先把项目搭建时生成的代码给清了吧 现在static目录下引入reset.css 接着在index.html引入,并且设置<meta> 有时候呢,为了让代码符合我们平时的编码习惯, ...
- 项目vue2.0仿外卖APP(一)
最近用vue.js做一个仿饿了么外卖APP的项目,现在也把流程啊什么的暂时先整理一下在这个博客上面. 当然,这个过程会有点长,不过确实能学到很多东西. 话不多说,马上开始吧. 1.项目介绍 选用当前最 ...
- 项目vue2.0仿外卖APP(六)
goods 商品列表页开发 布局编写 除了商品之外还有购物车,还有个详情页,挺复杂的. 两栏布局:左侧固定宽度,右侧自适应,还是用flex. 因为内容可能会超过手机高度,超过就隐藏.左右两侧的内容是可 ...
- 项目vue2.0仿外卖APP(五)
header组件 vue-resourse应用 https://github.com/pagekit/vue-resource vue-resource是Vue.js的一款插件,它可以通过XMLHtt ...
- 项目vue2.0仿外卖APP(二)
vue-cli开启vue.js项目 github地址:https://github.com/vuejs/vue-cli Vue.js开发利器vue-cli,是vue的脚手架工具. 在工地上,脚手架是工 ...
- 项目vue2.0仿外卖APP(七)
ratings评价列表页实现 在ratings.vue组件里开发 首先先引入seller数据: 书写模板结构: 由于评价页又有之前写过的star.vue组件,所以又要在ratings.vue组件引入: ...
- Vue2.0仿饿了么webapp单页面应用
Vue2.0仿饿了么webapp单页面应用 声明: 代码源于 黄轶老师在慕课网上的教学视频,我自己用vue2.0重写了该项目,喜欢的同学可以去支持老师的课程:http://coding.imooc.c ...
- vue2.0仿今日头条开源项目
vue-toutiao 这是用 vue.js 2.0 高仿 今日头条 的移动端项目,结合了原生app的部分功能以及网页版. 前言 本人是 今日头条 的重度用户,在学习vue.js过程中,在GitHub ...
- vue2.0:(一)、vue的安装和项目搭建(以外卖app项目举例)
vue系列踩坑大作战由此就要开始了,准备好了吗,和我一起踩坑,学会vue吧.同时,也欢迎大家把自己遇到的坑发出来,让更多的人学会vue,因为我深知前端学习新框架不容易,尤其是我这种半路出家的女前端.不 ...
随机推荐
- 011商城项目:图片服务器的安装---nginx
这个是电商的项目,不是传统项目,所以给图片单独架一台服务器. 我们看上图: 用户上传图片时上传到Tomcat1或者Tomcat2.然后Tomcat1和Tomcat2通过FTP服务把图片上传到图片服务器 ...
- 基于C/S架构的3D对战网络游戏C++框架_04客户端详细设计与OpenGL、Qt基础
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
- Gulp 常用插件
插件使用注意事项: 插件需要先 npm/cnpm install xx --save-dev gulp taskname,如果 task 已经设置成 default 的依赖,直接 gulp 即可 ta ...
- [网站公告]数据库服务器IOPS跑满造成网站不能正常访问
今年下午13:20-14:20左右,突增的访问量引发数据库服务器(阿里云RDS)IOPS跑满,造成大量请求执行缓慢,从而严重影响了网站的正常访问,给大家带来很大的麻烦,望大家谅解! 在出现故障时,当我 ...
- C++知识回顾(一)
感觉世界都是约定好的,每门语言的第一个程序总是Hello World!但是也有一些书似乎是在追求个性,会用一些其他的,但是是Not Hello World!本人需要再学习一下C++,所以从最基础的开始 ...
- [转]SQL 常用函数及示例
原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...
- vue.js 第三课
1.构造器 constructor 2.属性和方法 properties methods 3.实例生命周期 instance_lifecycle 1.vue.js都是通过 var vm=new V ...
- 样式重置 css reset
新浪的初始化: html,body,ul,li,ol,dl,dd,dt,p,h1,h2,h3,h4,h5,h6,form,fieldset,legend,img { ; padding: 0 } fi ...
- cookie
1.基本操作 Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给 ...
- StringTokenizer类的使用
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数. 1.构造函数 public StringTokenizer(String str) public Str ...