vue模拟后台数据

VUE开发请求本地数据的配置,早期的vue-lic下面有dev-server.js和dev-client.js两文件,请求本地数据在dev-server.js里配置,最新的vue-webpack-template 中已经去掉了dev-server.js和dev-client.js 改用webpack.dev.conf.js代替,所以 配置本地访问在webpack.dev.conf.js里配置即可。

1、旧版dev-server.js配置本地数据访问:

const app = express()后,const compiler = webpack(webpackConfig)前配置即可,

var appData = require('../data.json')
var seller = appData.seller
var goods = appData.goods
var ratings = appData.ratings
var foods = appData.foods
var pice = appData.pice
var apiRoutes = express.Router()

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

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
  });
})

apiRoutes.get('/pice', function (req, res) {
  res.json({
    errno: 0,
    data: pice
  });
})
app.use('/api',apiRoutes)

2、新版webpack.dev.conf.js配置本地数据访问:

const portfinder = require(‘portfinder’)后添加

//首先
const express = require('express')
const app = express()
var appData = require('../data.json')//加载本地数据文件
var seller = appData.seller//获取对应的本地数据
var goods = appData.goods
var ratings = appData.ratings
var apiRoutes = express.Router()
app.use('/api', apiRoutes)

//然后找到devServer,在里面添加
before(app) {
  app.get('/api/seller', (req, res) => {
    res.json({
      errno: 0,
      data: seller
    })//接口返回json数据,上面配置的数据seller就赋值给data请求后调用
  }),
  app.get('/api/goods', (req, res) => {
    res.json({
      errno: 0,
      data: goods
    })
  }),
  app.get('/api/ratings', (req, res) => {
    res.json({
      errno: 0,
      data: ratings
    })
  })
} 有的同学说报错,不能识别before,注意看下你的配置。

以上为get请求,有同学问post怎么设置,再补充下POST请求:

老版本:
apiRoutes.post('/foods', function (req, res) { //注意这里改为post就可以了
  res.json({
    errno: 0,
    data: foods
  });
})
新版本:
app.post('/api/foods', function (req, res) { // 注意这里改为post就可以了
  res.json({
    errno: 0,
    data: foods
  });
})
在组件里面:
created () {
 this.$http.post('http://localhost:8080/api/foods').then((response) => {
  console.log(response)
 })
}

你可能感兴趣的:(vue)