Javascript React应用程序、http代理中间件和axios代理到后端服务器(生产和开发)
我想要的是在生产和开发两方面都做代理工作。 每当我试图发出Javascript React应用程序、http代理中间件和axios代理到后端服务器(生产和开发),javascript,reactjs,typescript,proxy,axios,Javascript,Reactjs,Typescript,Proxy,Axios,我想要的是在生产和开发两方面都做代理工作。 每当我试图发出POST请求时,我都会收到 您需要启用JavaScript才能运行此应用程序 代理服务器似乎不起作用 后端url示例 https://backend-example.com/api/create 样本请求功能 export const create = async () => { try { const res = await api.post(`/api/create`) console.log(res)
POST
请求时,我都会收到
您需要启用JavaScript才能运行此应用程序
代理服务器似乎不起作用
后端url示例
https://backend-example.com/api/create
样本请求功能
export const create = async () => {
try {
const res = await api.post(`/api/create`)
console.log(res)
return res.data
} catch (e) {
console.error(e.message)
}
}
api.ts
import axios from 'axios'
const api = axios.create({
headers: {
'Content-Type': 'application/json',
},
})
api.interceptors.request.use(
(config) => {
const token = localStorage.getItem('token')
if (token) {
config.headers['Authorization'] = `Bearer ${token}`
}
return config
},
(error) => Promise.reject(error)
)
export default api
import { createProxyMiddleware } from 'http-proxy-middleware'
const BACKEND_URL = process.env.REACT_APP_BACKEND_ENDPOINT as string // https://backend-example.com
export default function (app: {
use: (arg0: string, arg1: import('http-proxy-middleware').RequestHandler) => void
}) {
app.use(
'/api',
createProxyMiddleware({
target: BACKEND_URL,
pathRewrite: { '^/api': '/' },
changeOrigin: true,
})
)
}
proxy.ts
import axios from 'axios'
const api = axios.create({
headers: {
'Content-Type': 'application/json',
},
})
api.interceptors.request.use(
(config) => {
const token = localStorage.getItem('token')
if (token) {
config.headers['Authorization'] = `Bearer ${token}`
}
return config
},
(error) => Promise.reject(error)
)
export default api
import { createProxyMiddleware } from 'http-proxy-middleware'
const BACKEND_URL = process.env.REACT_APP_BACKEND_ENDPOINT as string // https://backend-example.com
export default function (app: {
use: (arg0: string, arg1: import('http-proxy-middleware').RequestHandler) => void
}) {
app.use(
'/api',
createProxyMiddleware({
target: BACKEND_URL,
pathRewrite: { '^/api': '/' },
changeOrigin: true,
})
)
}
我甚至为此尝试了axios
const api = axios.create({
headers: {
'Content-Type': 'application/json',
},
proxy: {
host:'https://backend-example.com',
port: 80,
}
})
谢谢:)