zoukankan      html  css  js  c++  java
  • vue中模拟后台数据

    转自:http://www.jianshu.com/p/0210d11286b5

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

    96 
    一恋蝶梦 
    2017.03.10 17:15* 字数 786 阅读 1032评论 1

    一、创建项目


    使用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的环境已经搭建完成。

  • 相关阅读:
    myeclipse源码相关操作
    来自一个程序员内心深处的心声
    编程乐趣--汉字转拼音
    MyEclipse下安装FreeMark插件
    java web 加载Spring --web.xml 篇
    注解方式实现声明式事务管理
    spring与struts简单整合案例
    创建对象与对象依赖关系
    几种对数据的处理以及对数据的封装
    Action开发、通配符、路径问题和struts中常量用法
  • 原文地址:https://www.cnblogs.com/QIQIZAIXIAN/p/7838832.html
Copyright © 2011-2022 走看看