VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js,如何使用axios+express配置路由转发

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里配置即可。

目前正在学习慕课网上的vue2.0教程-QQ音乐APP,由于视频演示的是webpack2.x,而自己操作实际的webpack已经是3.6.0了。现在有个需求就是通过请求https://c.y.qq.com/splcloud/f... 拿到歌单数据,因为有referer限制

所以需要代理请求。视频中老师的做法是在build下的dev-server.js下配置如下:

VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js,如何使用axios+express配置路由转发

VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js,如何使用axios+express配置路由转发 

VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js,如何使用axios+express配置路由转发 

但是我目前的webpack版本较高,已经没有了这个dev-server.js文件,现在只需要在 webpack.dev.conf.js中按如下配置就好了:

第一步,在const portfinder = require('portfinder') 这一行下边写如下:

VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js,如何使用axios+express配置路由转发

第二步,找到 devServer 对象,在它里面写如下:

VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js,如何使用axios+express配置路由转发 

再次运行npm run dev ,项目就能正常获取数据并且正常运行了!

总结如下:

webpack旧版本中,vue-cli生成初始化项目的时候build下生成dev-server.js文件,新版本中没有这个文件,它和webpack.dev.server.js都融合在一起了,配置axios和express代理的时候出了一些问题 

要把旧的

apiRoutes.get('/getDiscList', function (req, res) {
  
})

改为

before(app) {
    app.get('/api/getDiscList', (req, res) => {
   
     })
}

需要注意两点: 

1、要把旧版本的apiRoute.get()改为app.get()
2、要把原有的url地址'/getDiscList'改为'/api/getDiscList'