Express 是一款基于 Node.js 平台的开放源代码 Web 应用程序框架。它旨在提供一组强大的功能,使 Web 应用程序开发变得更加简单、更加有效率。本文将深入介绍在 Node.js 中使用 Express 框架的过程,包括安装、基本用法以及常见的操作。
安装
在开始使用 Express 框架之前,需要先安装 Node.js 平台。然后,可以使用 NPM 包管理器安装 Express 框架。在命令行中输入以下命令即可安装:
npm install express
基本用法
创建 Express 应用
在编写任何代码之前,需要使用以下语句引入 Express 应用程序:
const express = require('express'); const app = express();
这将创建一个新的 Express 应用程序实例。然后,可以使用一系列的方法来定义不同的路由、中间件、视图等等。
定义路由
在 Express 中,可以使用 app.get()
或 app.post()
等方法来定义一个路由。例如,以下代码定义了一个 GET 请求,当访问根目录时,将输出一个 "Hello World" 的响应:
app.get('/', (req, res) => { res.send('Hello World!'); });
这个请求处理器函数(也称为 "路由句柄")将在浏览器访问根目录时调用,req 参数代表 HTTP 请求,而 res 参数代表 HTTP 响应。
中间件
中间件是 Express 中重要的概念,它可以拦截请求和响应,并执行一些操作。在 Express 中,可以使用 app.use()
方法定义一个中间件。例如,以下代码定义了一个简单的中间件:
app.use((req, res, next) => { console.log('Time:', Date.now()); next(); });
这个中间件将在每次请求到达服务器时都会被调用,会在控制台打印当前时间。然后调用 next()
方法,将控制权交给下一个中间件或路由处理器。
视图模板
在 Express 中,可以使用视图模板引擎处理动态页面。常见的视图模板引擎有 EJS、Handlebars、Jade 等。首先需要安装相应的模板引擎,以 EJS 为例:
npm install ejs
然后,在应用中配置 EJS 视图模板引擎:
app.set('views', './views'); app.set('view engine', 'ejs');
现在,可以使用 EJS 编写模板文件,并在控制器中使用 res.render()
方法渲染模板文件。例如,以下代码渲染了一个 "users.ejs" 模板:
app.get('/users', (req, res) => { const users = [{name: 'Jack', age: 20}, {name: 'Tom', age: 21}]; res.render('users', {users: users}); });
实例案例
以下是一个完整的 Express 应用程序实例,演示了如何定义路由、中间件和视图模板:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- --- - ---------- ---------------- ----------- ------------- -------- ------- ------------- ---- ----- -- - -------------------- ------------ ------- --- ------------ ----- ---- -- - --------------- --------- --- ----------------- ----- ---- -- - ----- ----- - ------- ------- ---- ---- ------ ------ ---- ----- ------------------- ------- -------- --- ---------------- -- -- - -------------------- --- --------- -- ---- -------- ---
以上代码定义了一个根路由和一个 /users 路由,并在 /users 路由中使用 EJS 模板引擎渲染数据。任何发送到该应用程序的请求都将被记录下来,并在控制台中打印当前时间。
结论
Express 是一款非常流行的 Web 框架,它可以帮助开发人员更快更高效地构建 Web 应用程序。本文介绍了在 Node.js 中使用 Express 框架的基本用法,包括路由、中间件和视图模板。希望本文对您有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f36183e1e8e99bfaf67fd7