我需要从保存在 C:/ 中的 json 文件中读取用于产品的电子反应应用程序构建中 API 服务器的 IP 地址。这是为了在 ip 更改时不要再次构建用于生产的项目。
我使用 axios 实例来调用 api
import axios from 'axios';
const apiTest = 'http://localhost:8000/api';
const apiURL = 'http://189.173.109.69:1080/api'; // <- i need to get this from a json file saved in C drive
class AxiosInstance {
private static instance: any;
public manager: any;
constructor() {
if (AxiosInstance.instance) {
return AxiosInstance.instance;
}
this.manager = axios.create({
baseURL: apiURL,
});
this.manager.defaults.headers = {
'content-type': 'application/json',
Accept: 'application/json',
};
AxiosInstance.instance = this;
this.manager.defaults.timeout = 15000;
this.manager.interceptors.request.use((request: any) =>
AxiosInstance.requestHandler(request)
);
this.manager.interceptors.response.use(
(response: any) => {
return response;
},
async (error: any) => {
// Do something with response error
if (error?.response?.data?.error && error.response.status === 401) {
const errorText = error?.response?.data?.error;
console.log(errorText);
return Promise.reject(error);
}
// Do something with response error
if (error?.response?.data?.error && error.response.status === 422) {
let errorText = '';
// eslint-disable-next-line guard-for-in
for (const key in error?.response?.data?.error) {
errorText += `${error?.response?.data?.error[key]} \n`;
}
console.log(errorText);
}
return Promise.reject(error);
}
);
}
static requestHandler = async (request: any) => {
// const jwt = await SecureStore.getItemAsync('jwt');
// if (jwt) {
request.headers['content-type'] = 'application/json';
// request.headers.Authorization = `Bearer ${jwt}`;
// }
return request;
};
}
export { apiURL, apiTest, AxiosInstance };
export default new AxiosInstance().manager;
我需要从该 json 文件中获取 IP 地址并将其作为 apiURL (baseURL) 放入 axios 实例中以进行 api 调用。