I'm going to adopt PWA to my web applications and those web apps are heavily using Axios with the default XMLHTTPRequest adapter. Hence, I have to switch to Fetch adapter; However, Axios doesn't have an adapter for fetch API for now. So I write one to use while waiting for an offical one from Axios.
You can install the adapter directly from this repository URL or feel free to copy its source code to your project.
npm install axios
npm install @vespaiach/axios-fetch-adapter
There are two ways to use it:
- Create a new instance of Axios and pass this adapter in configuration
const instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 1000,
adapter: fetchAdapter
....
});
- Pass this adapter in each of request
axios.request({
url: '/user',
method: 'get',
adapter: fetchAdapter
...
})
- Use with FormData
axios.request({
url: '/user',
method: 'post',
adapter: fetchAdapter
data: new FormData(formId)
...
})
-
Since, this adapter relies on fetch API so it won't work in Node environment
-
Based on vespaiach's work