Proxy
Outlined
The project creates the base path of the service and a string to match the proxy through the createServiceConfig
function.
Code Location
@/utils/service.ts
The proxy is then created in the createViteProxy
function based on the configuration obtained above.
Enable/disable
Enable or disable proxies via VITE_HTTP_PROXY
in the env
file.
Code Location
~.env
In @/service/request/index.ts
, you decide whether the URL needs to handle proxies by passing isHttpProxy
to the second parameter of getServiceBaseURL
, which is determined based on the environment in which the code is running in conjunction with VITE_HTTP_PROXY
. You can deconstruct the request URL here by passing different parameters.
const isHttpProxy = import.meta.env.DEV && import.meta.env.VITE_HTTP_PROXY === 'Y';
const { baseURL } = getServiceBaseURL(import.meta.env, isHttpProxy);
const { otherBaseURL } = getServiceBaseURL(import.meta.env, false);
Principle
The default requested proxy match string is /proxy-default/
,Suppose the address of the request is https://api.example.com/v1/user
,Then the address of the local proxy obtained is http://localhost:3000/proxy-default/v1/user
,When this request is sent, it matches to the proxy configuration via /proxy-default/
and forwards the request to https://api.example.com/v1/user
.