Axios与ExpressJS的区别是什么?是否需二者配合搭建后端?
Axios与ExpressJS的区别及后端搭建的必要性
核心区别
两者属于完全不同类型的工具,职责天差地别:
- ExpressJS:Node.js生态下的后端Web框架,核心作用是搭建服务器、定义API接口、处理客户端的HTTP请求。你公司里的这段代码就是典型的Express后端接口实现:
它会接收客户端发来的router.get("/getExample", async function (req, res) )/getExampleGET请求,执行内部的SQL查询逻辑,最后把查询结果封装成HTTP响应返回给请求方。 - Axios:通用HTTP客户端工具(支持浏览器和Node.js环境),作用是向服务器发起HTTP请求、接收并处理响应。你贴的这段代码就是用Axios调用上面的Express接口:
它的任务就是发起请求到Express后端的接口,拿到返回数据后做判断和结果处理。export async function getExample() { let dataReturn = ""; await axios.get(`${linkUrl}getExample`).then((result) => { if (!result.data.sqlData[0]) { dataReturn = "ERROR SQL Data was not returned"; } else { dataReturn = result.data.sqlData; } }); return dataReturn; }
搭建后端是否必须同时使用二者?
完全不需要:
- 用Express搭建后端API时,前端调用接口的工具可以任选,比如浏览器原生的
fetch、jQuery的$.ajax,甚至Postman这类测试工具,Axios只是众多可选方案之一。 - 反过来,Axios不绑定任何后端框架,它可以请求任何后端服务的API——不管这个后端是用Express、Koa、Java Spring还是Python Django开发的,哪怕是第三方公开API(比如GitHub接口),都能正常使用。
为什么YouTube视频分开讲解?
因为两者的定位完全不同:讲Express的视频聚焦后端服务搭建,教你如何编写接口、处理请求逻辑;讲Axios的视频聚焦HTTP请求发送,教你如何在前端调用接口获取数据。结合使用是前后端交互的常规操作,只是很多视频会把前后端内容拆分讲解,所以你没看到结合的例子。
另外可以优化下你这段Axios代码,避免await和.then混用的冗余写法:
export async function getExample() { try { const result = await axios.get(`${linkUrl}getExample`); return result.data.sqlData[0] ? result.data.sqlData : "ERROR SQL Data was not returned"; } catch (error) { // 补充处理请求失败场景,比如网络错误、后端报错 return "ERROR Failed to fetch data"; } }
内容的提问来源于stack exchange,提问作者Zach philipp
相关产品推荐
相关产品推荐

