vue+node实现中间层同步调用接口
生活随笔
收集整理的這篇文章主要介紹了
vue+node实现中间层同步调用接口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?為了應對業務的復雜性,提高前端的渲染能力,故在項目中引入nodejs做中間層,前端承接vue,后端對接Java。
至于為什么這么搞,網上有好多文章都在討論,可以說仁者見仁智者見智,這里我們不在深究。
這里主要記錄一下,我在項目中嘗試使用這種結構遇到的問題:
1.前端的vue工程采用axios請求中間層node服務會遇到跨域問題
解決方法:打開vue工程的index.js配置文件添加如下配置
assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: {'/api': {target: 'http://localhost:3000',changeOrigin: true,pathRewrite: {'^/api': ''}} },2.中間層使用axios請求后端接口時需要等待接口返回后,在傳遞數據給前端,這里就需要使用同步請求機制
解決方法:采用 async, await 方式,如下
var express = require('express') var router = express.Router() var http = require('../config/http')router.get('/getFarmTargets', async (req, res, next) => {console.log('進入請求')var result = {}result.targets = await http.get('/cim/cimInfos/survey?orgId=1115').then(response => response.data.code === 0 ? response.data.data : null)result.introductions = await http.get('/cim/introductions', { orgId: 1115 }).then(response => response.data.code === 0 ? response.data.data : null)console.log('回調外層2:' + JSON.stringify(result))res.json({code: '0',msg: '',data: result})next() })先記錄到這兒,未完待續......
?
?
總結
以上是生活随笔為你收集整理的vue+node实现中间层同步调用接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch dropout_PyTo
- 下一篇: 基于单片机花式喷泉喷水池控制系统设计-单