javascript - vue-cli proxyTable怎么配置
問題描述
如何實現線上環境使用setting.host + ’/api/sop/’,本地dev請求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,轉發到其他服務器。
// 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) => { // ...});# 生產環境 nginxlocation /api { proxy_pass http://10.0.0.10:8080/api;}回答2:
可以配置一個環境變量,通過判斷環境變量確定使用哪一種配置
process.NODE_ENV === ’LOCAL’ ? proxyTableLocal : proxyTableServer回答3:
設置后, npn run dev階段, 本地如果訪問’/get/apple, 本地服務器會幫你訪問http://api.com:6688/get/apple拿到遠程的數據, 變相的實現了跨域功能
打開config/index.js, 添加proxyTable屬性
module.exports = {
build: {...}dev: { ... proxyTable: {’/’: { target: ’http://api.com:6688’, changeOrigin: true } }, ...}
}
https://github.com/383514580/...
相關文章:
1. css - 使用blur()濾鏡為什么有透明的效果2. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?3. angular.js - 通過數據中children的個數自動生成能點擊展開的div4. python的bs4如何篩選出h1標簽中的內容5. javascript - 移動端H5頁面禁止縮放了,在瀏覽器上仍然可以縮放6. javascript - JS設置Video視頻對象的currentTime時出現了問題,IE,Edge,火狐,都可以設置,反而chrom卻...7. docker-compose 為何找不到配置文件?8. java - spring-data Jpa 不需要執行save 語句,Set字段就可以自動執行保存的方法?求解9. docker gitlab 如何git clone?10. javascript - Vue.js2.0不能使用debounce后大伙一般是如何解決延遲請求的問題的呢。
