javascript - vue-cli proxyTable怎么配置
問題描述
如何實(shí)現(xiàn)線上環(huán)境使用setting.host + ’/api/sop/’,本地dev請(qǐng)求localhost:3000呢?
const instance = axios.create({ baseURL: setting.host + ’/api/sop/’, timeout: 20000, headers: { ’Content-Type’: ’application/json’, ’Accept’: ’application/json’, },});
config
proxyTable: { ’/api’: { target: 'http://127.0.0.1:3000', changeOrigin: true, pathRewrite: { ’^/api’: '' } }},
問題解答
回答1:用的vue-resource,理論上思路是一樣的。proxyTable和nginx的反向代理是一樣的道理,攔截特定的url,轉(zhuǎn)發(fā)到其他服務(wù)器。
// configproxyTable: { ’/api’: { target: ’http://10.0.0.10:8080’, changeOrigin: true, pathRewrite: { ’^/api’: ’/api’ } }}// codethis.$http.post(’/api/login’,{ username: ’xxx’, password: ’xxx’}).then((response) => { // ...}, (response) => { // ...});# 生產(chǎn)環(huán)境 nginxlocation /api { proxy_pass http://10.0.0.10:8080/api;}回答2:
可以配置一個(gè)環(huán)境變量,通過判斷環(huán)境變量確定使用哪一種配置
process.NODE_ENV === ’LOCAL’ ? proxyTableLocal : proxyTableServer回答3:
設(shè)置后, npn run dev階段, 本地如果訪問’/get/apple, 本地服務(wù)器會(huì)幫你訪問http://api.com:6688/get/apple拿到遠(yuǎn)程的數(shù)據(jù), 變相的實(shí)現(xiàn)了跨域功能
打開config/index.js, 添加proxyTable屬性
module.exports = {
build: {...}dev: { ... proxyTable: {’/’: { target: ’http://api.com:6688’, changeOrigin: true } }, ...}
}
https://github.com/383514580/...
相關(guān)文章:
1. python小白 自學(xué)看書遇到看不懂的地方2. javascript - sublime快鍵鍵問題3. 網(wǎng)頁爬蟲 - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?4. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件5. php對(duì)mysql提取數(shù)據(jù)那種速度更快6. DADB.class.php文件的代碼怎么寫7. shell - mysql更新錯(cuò)誤8. javascript - immutable配合react提升性能?9. mysql - 在log日志中已知用戶的某一步操作,如何獲取其上一步操作?10. 如何設(shè)置一個(gè)無限循環(huán)并打破它。(Java線程)

網(wǎng)公網(wǎng)安備