从头搭建Vue + axios + Mock Server的开发环境

一、创建项目


使用vue开发项目时,通过脚手架工具vue-cli可以很方便的构建项目,热重载、保存时静态检查以及可用于生产环境的构建配置都一并创建好。

# 全局安装 vue-cli

$ npm install -g vue-cli

# 创建一个基于 webpack 模板的新项目

$ vue init webpack my-project

# 安装依赖

$ cd my-project

$ npm install

更具体的可以看官方文档:http://cn.vuejs.org/v2/guide/installation.html

二、安装网络请求模块


vue2.0后官方不再推荐vue-resource 作为 ajax 方案。(具体原因看这:https://github.com/vuefe/vuefe.github.io/issues/186

在这里使用axios处理ajax请求,对应的vue插件:vue-axios

# 安装 axios 和 vue-axios

$ npm install --save axios vue-axios

# 在main.js中引入

import axios from 'axios'

import VueAxios from 'vue-axios'

Vue.use(VueAxios, axios)

# 在组件中使用axios

this.axios.get('/api/user').then((response) => {

    console.log(response.data)

}).catch((error) => {

    console.error(error)

})

axios更详细的使用方法看这里:https://github.com/mzabriskie/axios

三、Json-Server


项目搭建好了,需要本地模拟数据来测试接口效果。

这里的思路是启动一个本地Server来处理请求返回模拟数据,项目中通过webpack的proxy代理过去。

这里使用Json-Server这个工具来构建本地Server

# 安装Json-Server

$ npm install -g json-server

安装完成后,在项目中创建db.json文件模拟返回的数据内容。

{

    "user": {

        "name" : "Sugar",

        "age" : 22,

        "sex" : "girl"

    }

}

然后执行 json-server db.json

执行结果

执行成功后会提示已经启动了一个端口为3000的服务,在浏览器中输入localhost:3000 能看到如下的页面:

localhost:3000

点击 'user' 就能看到我们定义的数据信息

user 接口

到此,本地Mock Server 已经搭建完成

四、向本地Server请求数据


在项目中如何向本地Server请求数据呢?

通过webpack的proxy,可以将本地的Ajax请求代理到Mock Server上

在config/index.js文件中加入如下配置

proxy配置

配置完成启动 npm run dev 进行测试吧。

更多proxy配置信息,请参考以下相关资料:

https://vuejs-templates.github.io/webpack/proxy.html

http://webpack.github.io/docs/webpack-dev-server.html#proxy

五、使用Mock.js


Mock Server中 db.json 中的数据是是死的,我们可以借助 Mock.js 生成动态数据,增加测试的真实性。

# 安装mock.js

npm install mockjs --save-dev

项目中创建mock/ db.js 文件,内容如下:

db.js

执行 json-server db.js 再次查看 localhost:3000/user 已经能看到数据效果了

localhost:3000/user

Mock.js的详细用法参考:http://mockjs.com/examples.html

六、整合


项目开发时,分别要输入两条命令比较麻烦。

我们在package.json中配置一条mockdev命令 ,以方便开发。

在 scripts 里加入如下两条配置:

"mock": "node_modules/.bin/json-server --watch mock/db.js --port 3000",

"mockdev": "npm run mock & npm run dev"

到此 vue + axios + mock server的环境已经搭建完成。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文/子诺不离 对于书籍,我们许多人都有这样的感觉:有的书,读过一次,就不想再读了;有的书,则是读完一次,还想再读,...
    子诺不离阅读 3,171评论 40 147
  • 你的呕吐声横穿走廊 放纵后的痛苦 在惊醒别人的美梦时代 夜半归来 你将所有的无奈宣泄 你将成长的代价诠释 还有多少...
    释修堂阅读 280评论 0 2
  • 最近更新比较慢,主要是本人马上到预产期要生宝宝了,身体条件不允许连续几个小时不停的画画了,不过有时间自己还是会坚持...
    多恩美术工作室阅读 1,295评论 4 9
  • 算算今天是奥利奥来家里的第20天,早上它终于会握手了了,然后,我心情美美地去上班。 到底是什么时候开始喜欢法牛呢?...
    有生之年好好爱阅读 919评论 0 0