Replace axios with a simple custom fetch wrapper
7 hours ago
- #fetch
- #axios
- #HTTP
- Matt Zabriskie created axios, a vanilla JavaScript version of AngularJS's $http service, which works in both NodeJS and the Browser.
- The fetch API, a promise-based standard for HTTP requests, offers a better developer experience and is widely supported.
- Reasons to replace axios with a custom fetch wrapper include less API to learn, smaller bundle size, and immediate bug fixes.
- A basic fetch wrapper example includes error handling using the response.ok property to reject non-OK responses.
- Enhancing the wrapper to handle sending JSON data by automatically setting method to POST when a body is provided.
- Adding authentication via localStorage tokens and automatic logout on 401 responses to handle expired or invalid tokens.
- Creating modular client wrappers for specific endpoints (e.g., list-items-client.js) to simplify API calls.
- Conclusion: While axios is feature-rich and suitable for Node projects, a custom fetch wrapper in the browser can be more tailored and efficient.