他们好,很开心又碰面了,我是”高阶后端高阶
高阶后端高阶
有关后端与否要竭尽全力采用Axios的探讨未曾暂停过,从前也原则上刊登过该文探讨 fetch 和 Axios。从他们的文章上看,每一人都有相同的观点,下列是该文半条命:
为何 JS 开发人员更喜欢 Axios 而并非 Fetch?Ajax 会被 fetch 替代吗?Axios 咋办?但,那时很开心的通告他们,有了 Redaxios,开发人员非但不必苦恼 Axios 下层是如前所述XMLHTTPRequest 那个应用程序的幸运儿了,最后他们总算能走入 fetch 的应用程序成功之路。话不多说,间接已经开始!
序言
这篇该文是为时常采用 Axios 的开发人员预备的, Axios 提供更多了两个简约的 API 和高阶的形式来畅享 REST 初始化。 有时,开发人员即使将 Axios 用作单纯的 GraphQL 允诺。但,不晓得他们是不是辨认出,绝大多数情况下,他们而已采用 Axios 展开单纯的 CRUD 操作形式(GET、POST 等)。
因此,责任编辑将带着他们迈向 Redaxios 的当今世界!Redaxios 是两个极好的 Axios 的较大型代替品,由 Preact 的建立人Jason Miller构筑(也建立了microbundle,、mitt、htm等其它著名工程项目)。
为何采用 Redaxios 而并非 Axios
Axios 有两个开发人员喜欢的、易用的 API, Redaxios 采用应用程序原生 fetch() 以 800 字节的形式实现了该 API。所有现代主流应用程序都支持它,并且也扩展到了很多后端基建场景,如: Next.js、Create React App 和 Preact CLI 等等。
采用 Redaxios 替换 Axios 的两个典型场景是包大小敏感的工程项目。 因此,如果工程项目而已展开基本的 RESTful 初始化,那么 Redaxios 是两个极好的选择。根据 Bundlephobia 的数据,Axios 压缩后大小为 29.3 kB,启动 Gzip 后也有 11.1kB。相比之下 Redaxios 会小很多,压缩后只有 2kB,启动 Gzip 压缩后只有 1KB,体积是Axios的1/10。
当然, Axios 是两个优秀的模块,你应该竭尽全力在工程项目中采用它! 但,Redaxios 使得开发人员无需在 Axios 和 fetch 之间做出选择,而是提供更多了两者之间的中间地带。
Redaxios有多火
从Github数据上看,目前 Redaxios 工程项目已经建立了3年时间,具有4.0+K的star,被1.1K的工程项目所采用,NPM周平均下载量大约13K。从过去一年的NPM采用数据上看,Redaxios也具有明显的上升趋势。
当然,如果将 Redaxios 和Axios 数据综合上看,Redaxios仍然只能算作是小儿科,瞬间被Axios秒杀。但考虑到Axios工程项目已经建立了长达9年时间,因此在工程项目的著名度、依赖工程项目数量上根本不在两个量级,那个数据也是能理解。也许,开发人员应该给Redaxios 足够的时间成长,相信总有一天能与Axios掰掰手腕。
Redaxios采用
能通过下面代码间接安装 Redaxios:
import axios from redaxios; // use as you would normally然后像采用Axios那样正常采用所有方法:
// Make a request for a user with a given IDaxios.get(/user?ID=12345) .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .finally(function () { // always executed }); // Optionally the request above could also be done as axios.get(/user, { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .finally(function () { // always executed }); // Want to use async/await? Add the `async` keyword to your outer function/method. async function getUser() { try { const response = awaitaxios.get(/user?ID=12345); console.log(response); } catch (error) { console.error(error); } }责任编辑总结
责任编辑主要和他们介绍Redaxios,即 Axios 的 1kb大小的代替品,同时在API采用上与Axios保持一致。因为篇幅有限,该文并没有过多展开,如果有兴趣,文末的参考资料提供更多了优秀文档以供学习。最后,欢迎他们点赞、文章、转发、收藏!
参考资料
https://github.com/developit/redaxios
https://github.com/axios/axios#axios-api
https://github.com/developit/redaxios
https://github.com/developit
https://dev.to/insanenaman/using-redaxios-an-800-byte-axios-alternative-fetch-wrapper-51mo
https://deno.land/x/redaxios@0.5.1/src/index.js?s=default
