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裏配置便可。html
一、舊版dev-server.js配置本地數據訪問:vue
在const app = express()後,const compiler = webpack(webpackConfig)前配置便可,webpack
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)
二、新版webpack.dev.conf.js配置本地數據訪問:web
在const portfinder = require(‘portfinder’)後添加express
//而後找到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,注意看下你的配置
。
補充說一下,有的同窗配置後說不能訪問,全部的修改配置都須要從新啓動運行命令的:npm run dev才能生效(切記 ),還有data.json數據也不能少,就放在跟目錄下跟index.html同級;data.json的部分數據:npm
{ "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 了json
以上爲get請求,有同窗問post怎麼設置,再補充下POST請求:api
老版本:
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) }) }