在一些大型 Web 应用中,前端通常需要与后端服务器进行通信。然而,在开发和测试环境中,这两个服务器经常是不同的。使用 Express.js 可以很容易地将前端请求转发到后端服务器。
安装 Express.js
首先,需要安装 Express.js:
npm install express --save
接着,创建一个名为 server.js
的文件,并添加以下代码:
const express = require('express'); const app = express(); const port = 3000; app.listen(port, () => { console.log(`Server listening at ${port}`); });
这将创建一个简单的 Express.js 服务器并启动它。在浏览器中打开 http://localhost:3000
,将显示 "Cannot GET /"。这是因为我们还没有设置任何路由。
添加路由
路由是负责接收并响应请求的函数。在 Express.js 中,这些函数被称为中间件。在 server.js
文件中,添加以下中间件:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --- - ---------- ----- ---- - ----- --------------- ----- ---- -- - -- ---------- --- ---------------- -- -- - ------------------- --------- -- ---------- ---展开代码
这会创建一个名为 /api
的路由,该路由将接收来自前端的请求并将其转发到后端服务器。
处理请求
现在,需要编写处理后端服务器请求的代码。在这个例子中,将使用 Node.js 的 http
模块。在 app.get()
中添加以下代码:
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------- - - --------- ------------ ----- ----- ----- ------------ ------- ----- -- ----- ---------- - --------------------- ---------- -- - --- ---- - --- --------------------- ----- -- - ---- -- ------ --- -------------------- -- -- - --------------- --- --- ---------------------- ----- -- - ------------------- --- -----------------展开代码
这段代码创建一个向后端服务器发送 GET 请求的 http 请求,并将响应数据发送回前端。
示例代码
本文中完整的示例代码如下:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---- - ---------------- ----- --- - ---------- ----- ---- - ----- --------------- ----- ---- -- - ----- ------- - - --------- ------------ ----- ----- ----- ------------ ------- ----- -- ----- ---------- - --------------------- ---------- -- - --- ---- - --- --------------------- ----- -- - ---- -- ------ --- -------------------- -- -- - --------------- --- --- ---------------------- ----- -- - ------------------- --- ----------------- --- ---------------- -- -- - ------------------- --------- -- ---------- ---展开代码
总结
在本文中,介绍了如何使用 Express.js 将前端请求转发到后端服务器。通过添加路由和处理请求,可以快速建立这样的服务器。这种方法可以用于开发和测试环境,因为前端和后端可以在不同的服务器上运行。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647e8a4648841e9894e3cfcf