项目打包放到github pages部分数据无法访问

用vue做demo的时候向qq音乐请求数据时,在webpack.dev.conf.js里面通过伪造请求头跨域获取数据,如下:

var express = require('express')
var axios = require('axios')
var app = express()
var apiRoutes = express.Router()
app.use('/api', apiRoutes)
devServer: {
     before(app){
      app.get( '/api/getDesList', function(req, res) {
        const url = 'https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcg'
        axios.get( url, {
          headers: {
            referer: 'https://y.qq.com/',
            host: 'c.y.qq.com'
          },
          params: req.query
        } ).then((response) => {
          res.json(response.data)
        } ).catch((err) => {
          console.log(err)
        })
      } )
}

开发环境下正常获取数据:
图片描述

但是打包放到github pages后,这一数据无法获取而且报404错误:
图片描述
图片描述
图片描述

这种方式获取的数据是不是只适用于开发环境,大佬们怎么解决啊?好心塞啊!!!

阅读 4.9k
3 个回答

没有服务器,在前端改 header 是没有用的,HostReferer 都是禁止修改

要么用自己的服务器,要么看看 qq 音乐有没有支持跨域的 api

你源码根目录不是有个server.js 文件吗,把他仍在服务器才可以。。。。github pages 不能跑node,我这个可能会对你有帮助https://github.com/forzeny/Mu...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进