VUE请求本地数据的配置json-server
2018-01-12 14:53
806 查看
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里配置即可。同时更新了config/index.js开发模式dev下几个配置:
autoOpenBrowser:设置启动dev服务器,打开一个新的浏览器选项卡。默认为false,不启动。
useEslint:在webpack中使用eslint-loader。有些人可能只想在他们的IDE中使用eslint,所以可以在这里停用eslint-loader。
showEslintErrorsInOverlay:如果使用eslint-loader,则此选项允许切换浏览器中显示的错误覆盖图中的eslint错误。错误仍然出现在控制台和终端,但不要再打破浏览器的工作流程。notifyOnErrors:将在构建失败时显示操作系统通知。
1、旧版dev-server.js配置本地数据访问:
在const app = express()后,const compiler = webpack(webpackConfig)前配置即可,
2、新版webpack.dev.conf.js配置本地数据访问:
在const portfinder = require(‘portfinder’)后添加
[/code]
补充说一下,有的同学配置后说不能访问,所有的修改配置都需要重新启动运行命令的:npm run dev才能生效(切记 ),还有data.json数据也不能少,就放在跟目录下跟index.html同级;data.json的部分数据:
这样就可以访问本地接口:http://localhost:8080/api/seller 了
以上为get请求,有同学问post怎么设置,再补充下POST请求:
autoOpenBrowser:设置启动dev服务器,打开一个新的浏览器选项卡。默认为false,不启动。
useEslint:在webpack中使用eslint-loader。有些人可能只想在他们的IDE中使用eslint,所以可以在这里停用eslint-loader。
showEslintErrorsInOverlay:如果使用eslint-loader,则此选项允许切换浏览器中显示的错误覆盖图中的eslint错误。错误仍然出现在控制台和终端,但不要再打破浏览器的工作流程。notifyOnErrors:将在构建失败时显示操作系统通知。
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’)后添加
//首先 var appData = require('../data.json')//加载本地数据文件 var seller = appData.seller//获取对应的本地数据 var goods = appData.goods var ratings = appData.ratings
//然后找到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,注意看下你的配置[/code]
。
[/code]
补充说一下,有的同学配置后说不能访问,所有的修改配置都需要重新启动运行命令的:npm run dev才能生效(切记 ),还有data.json数据也不能少,就放在跟目录下跟index.html同级;data.json的部分数据:
{ "seller": { "name": "粥品香坊(回龙观)", "description": "蜂鸟专送", "deliveryTime": 38, "score": 4.2, "serviceScore": 4.1, "foodScore": 4.3, "rankRate": 69.2, "minPrice": 20, "deliveryPrice": 4, "ratingCount": 24, "sellCount": 90, "bulletin": "粥品香坊其烹饪粥料的秘方源于中国千年古法,在融和现代制作工艺,由世界烹饪大师屈浩先生领衔研发。坚守纯天然、0添加的良心品质深得消费者青睐,发展至今成为粥类的引领品牌。是2008年奥运会和2013年园博会指定餐饮服务商。", "supports": [ { "type": 0, "description": "在线支付满28减5" }, { "type": 1, "description": "VC无限橙果汁全场8折" }, { "type": 2, "description": "单人精彩套餐" }, { "type": 3, "description": "该商家支持发票,请下单写好发票抬头" }, { "type": 4, "description": "已加入“外卖保”计划,食品安全保障" } ], "avatar": "http://static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg", "pics": [ "http://fuss10.elemecdn.com/8/71/c5cf5715740998d5040dda6e66abfjpeg.jpeg?imageView2/1/w/180/h/180", "http://fuss10.elemecdn.com/b/6c/75bd250e5ba69868f3b1178afbda3jpeg.jpeg?imageView2/1/w/180/h/180", "http://fuss10.elemecdn.com/f/96/3d608c5811bc2d902fc9ab9a5baa7jpeg.jpeg?imageView2/1/w/180/h/180", "http://fuss10.elemecdn.com/6/ad/779f8620ff49f701cd4c58f6448b6jpeg.jpeg?imageView2/1/w/180/h/180" ], "infos": [ "该商家支持发票,请下单写好发票抬头", "品类:其他菜系,包子粥店", "北京市昌平区回龙观西大街龙观置业大厦底商B座102单元1340", "营业时间:10:00-20:30" ] } }
这样就可以访问本地接口:http://localhost:8080/api/seller 了
以上为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-cli 使用json server在本地模拟请求数据的示例代码
- VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js
- vue配置 请求本地json数据
- VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js
- Vue-cli 使用json server在本地模拟请求数据
- vue配置请求本地json数据的方法
- VUE开发请求本地数据的配置,旧版本dev-server.js,新版本webpack.dev.conf.js
- vue开发请求本地模拟数据的配置方法
- 【VueJS】VueJS开发请求本地json数据的配置
- webpack4.0.1_vue脚手架的项目与json-server结合,vue开发前端时用json-server模拟数据,fetch的请求代码
- vue-resource + json-server模拟数据 vue-cli配置
- VUE开发请求本地数据的配置
- vue开发请求本地数据旧版本dev-server.js,新版本webpack.dev.conf.js
- vue中请求本地的json数据
- 新版vue-cli配置json-server及模拟post请求相关笔记
- vue新vue-cli3环境配置和模拟json数据的实例
- 错误摘要HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
- 购物车二级列表的实现,在一级列表基础上,bean类里再添加两个字段(请求本地json数据)
- Vue-cli项目获取本地json文件数据的实例
- vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)