Node.js
和 Express.js
是前端领域里最受欢迎的技术之一。Node.js
能够利用 JavaScript 构建高性能的网络应用程序,而 Express.js
是 Node.js 的一个 Web 框架,它可以帮助我们构建轻量级、灵活的 Web 应用程序。在本文中,我们将介绍如何使用 Express.js
来构建一个简单的 Web 应用程序,让你可以快速开始学习和使用。
安装 Express.js
首先我们需要安装 Express.js
。在 Node.js
环境中,使用 npm
包管理器来安装 Express.js
是最简单的方式。打开命令行终端并输入以下命令:
npm install express --save
使用 --save
标志可以在 package.json
文件中保存所有的依赖,这样你以后再次安装应用程序时就能直接运行 npm install
,安装依赖而不必单独安装每个软件包。
创建 Express.js 应用程序
接下来我们将创建一个 app.js
文件来启动我们的 Express.js
应用程序。在文件中添加以下代码:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- ----- ---- - ---- ------------ ----- ---- -- - --------------- -------- -- ---------------- -- -- - ------------------- --------- -- -------------------------- --
在这个代码中,我们首先从 express
模块中导入 express
,然后创建了一个 app
对象。app
对象是我们的应用程序的核心,通过它我们可以配置路由和中间件、处理请求和响应等等。
port
变量定义了我们应用程序将要监听的端口号。在下面的代码中,我们使用 app.get()
方法来定义了一个根路由 /
,当客户端访问根路由时,我们将向客户端发送一条 Hello World!
的响应。最后,我们使用 app.listen()
方法来启动应用程序,使其可以在指定的端口上监听请求。
运行应用程序
我们已经编写了一个简单的应用程序,现在我们来启动它。打开终端并进入到刚才创建的 app.js
文件所在的目录,然后输入以下命令:
node app.js
如果一切正常,我们应该能够在终端看到一条类似于 Server listening at http://localhost:3000
的消息。现在我们可以在浏览器中通过地址 http://localhost:3000/
来访问我们的应用程序了。
添加路由
在我们的应用程序中添加路由非常方便。我们可以使用 app.get()
、app.post()
、app.put()
等方法来定义我们的路由。这些方法都需要接收两个参数:请求路径和一个回调函数。回调函数将处理请求并发送响应。
// 定义路由 app.get('/users', (req, res) => { res.send('用户列表') }) app.get('/users/:id', (req, res) => { res.send(`用户 ${req.params.id}`) })
上述代码定义了两个路由。第一个路由将会匹配所有 /users
路径的 GET 请求,映射到回调函数并向客户端发送一条内容为 用户列表
的响应。第二个路由使用了参数 :id
,它将匹配所有 /users/:id
路径的 GET 请求,并且参数 :id
将作为回调函数中的 req.params.id
参数的值。例如,当访问 /users/1
时,将会向客户端发送一条内容为 用户 1
的响应。
添加中间件
Express.js
还允许我们将自定义的中间件添加到应用程序中。中间件是一些函数,它们可以访问 Request 和 Response 对象,并且可以执行一些操作,如解析请求体、验证请求、设置响应头等等。要添加自定义中间件,我们可以使用 app.use()
方法。app.use()
方法将会在所有的请求上执行自定义的中间件。
app.use((req, res, next) => { console.log(`[${new Date().toISOString()}] ${req.method} ${req.path}`) next() })
上述代码添加了一个自定义的中间件。它使用 console.log()
来打印出请求的 HTTP 方法和路径。然后它调用了 next()
方法来将请求传递给下一个中间件或路由处理程序。此外,我们还可以将多个中间件按顺序添加到应用程序。例如:
app.use(express.json()) app.use(express.urlencoded({ extended: true })) app.use(cookieParser()) app.get('/', (req, res) => { res.send('Hello World!') })
在这个例子中,我们添加了三个内置的中间件。express.json()
中间件用于解析请求体中的 JSON 格式数据。express.urlencoded()
中间件用于解析 URL 编码的请求体数据。cookieParser()
中间件用于解析 cookies。
总结
在本文中,我们介绍了如何使用 Express.js
框架来构建简单的 Web 应用程序。我们了解了如何安装 Express.js
,如何创建应用程序和路由,以及如何添加自定义中间件。下一步我们可以探索更复杂的应用程序,如用 MongoDB
存储数据,使用模板引擎来渲染页面等等。
完整代码示例:https://github.com/michaelwenqi/expressjs-demo
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651e897395b1f8cacd638182