首页 > Web开发 > 详细

webpack-dev-conf.js做后台数据模拟

时间:2018-05-14 17:17:59      阅读:244      评论:0      收藏:0      [点我收藏+]

以前学习vue时,通过在dev-server.js里书写代码来进行后台数据模拟。刚刚发现新版本的vue-cli 脚手架中没有了dev-server.js文件,该如何模拟后端数据呢?

需求:请求qq音乐接口数据时,由于host和referer的限制,请求被拒绝。很自然的想到要修改header,前端是不能直接修改request header的,需要通过后端代理的方式去解决。也就是需要我们手动代理这样的请求,前端请求我们自己的地址/api/getDiscList,然后我们的地址再去请求服务端。

我们自己的地址如何在nodejs请求服务端?

这里用ajax库axios,在浏览器中发送的是xmlhttprequest,而在nodejs中发送http请求,支持promise。

于是:通过axios来修改header。

别忘记首先要安装axios。这里只讨论webpack.dev.conf.js文件。

1、webpack.dev.conf.js文件

const express = require(‘express‘)
const axios = require(‘axios‘)
const app = express()
var apiRoutes = express.Router()
app.use(‘/api‘, apiRoutes)

2、找到devServer,向其中添加如下代码

   before(app) {
      app.get(‘/api/getDiscList‘, (req, res) => {
        var url = ‘https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg‘
        axios.get(url, {
          headers: {
            referer: ‘https://c.y.qq.com/‘,
            host: ‘c.y.qq.com‘
          },
          params: req.query
        }).then((response)=>{
          res.json(response.data)
        }).catch((error)=>{
          console.log(error)
        })
      })
    }

搞定。

 

参考:

1.SegmentFault

2.涂涂的csdn

3.webpack官网的devServer描述

webpack-dev-conf.js做后台数据模拟

原文:https://www.cnblogs.com/PeriHe/p/9037014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!