Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可以使 JavaScript 在服务器端运行。而 Express 是一个基于 Node.js 平台的 web 应用开发框架,它提供了一系列强大的功能,使得开发者可以快速地开发出高效、易维护的 web 应用。
安装 Node.js
在学习 Express 之前,我们需要先安装 Node.js。Node.js 的安装非常简单,只需要到官网下载对应的安装包,然后按照提示进行安装即可。
安装 Express
安装 Node.js 之后,我们就可以开始安装 Express 了。在命令行中输入以下命令:
npm install express --save
这个命令会在当前目录下安装 Express,并将其添加到 package.json 文件中的 dependencies 中。
创建一个 Express 应用
安装 Express 后,我们就可以开始创建一个 Express 应用了。在命令行中输入以下命令:
mkdir myapp cd myapp npm init
这个命令会创建一个名为 myapp 的目录,并进入该目录。然后,我们使用 npm init 命令来创建一个 package.json 文件,该文件用来记录我们的应用程序的依赖关系。
接下来,我们使用以下命令来安装 Express:
npm install express --save
然后,我们创建一个名为 index.js 的文件,并输入以下代码:
// javascriptcn.com 代码示例 const express = require('express') const app = express() app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(3000, () => { console.log('Example app listening on port 3000!') })
这个代码会创建一个 Express 应用,并在 localhost:3000 上监听请求。当我们访问 localhost:3000 时,该应用将会返回 "Hello World!"。
路由
在 Express 中,路由是指如何定义应用程序的端点(URIs)以及如何响应客户端的请求。我们可以使用 app.get()、app.post()、app.put()、app.delete() 等方法来定义路由。
下面是一个简单的路由示例:
app.get('/', (req, res) => { res.send('Hello World!') }) app.get('/about', (req, res) => { res.send('About Page') })
这个代码中,我们定义了两个路由。当用户访问根路径时,应用程序将返回 "Hello World!",当用户访问 /about 路径时,应用程序将返回 "About Page"。
中间件
在 Express 中,中间件是指在路由处理程序之前执行的函数。中间件可以执行任何代码,修改请求和响应对象,终止请求-响应循环,调用下一个中间件等。
下面是一个简单的中间件示例:
const myLogger = (req, res, next) => { console.log('Logging') next() } app.use(myLogger)
这个代码中,我们定义了一个名为 myLogger 的中间件函数,并使用 app.use() 方法将其添加到 Express 应用程序中。当用户请求应用程序时,该中间件将会打印 "Logging"。
模板引擎
在 Express 中,模板引擎是一种将数据和模板结合起来生成 HTML 页面的工具。Express 支持多种模板引擎,包括 EJS、Pug、Handlebars 等。
下面是一个使用 EJS 模板引擎的示例:
首先,我们需要安装 EJS:
npm install ejs --save
然后,我们需要配置 Express 使用 EJS 模板引擎:
app.set('view engine', 'ejs')
最后,我们创建一个名为 index.ejs 的文件,并输入以下代码:
// javascriptcn.com 代码示例 <!DOCTYPE html> <html> <head> <title>Home Page</title> </head> <body> <h1><%= title %></h1> <p>Welcome to <%= message %></p> </body> </html>
这个代码中,我们使用了 EJS 的模板语法,通过 <%= %> 插入变量。
最后,我们在路由处理程序中使用 res.render() 方法来渲染模板:
app.get('/', (req, res) => { res.render('index', { title: 'Home Page', message: 'Express Tutorial' }) })
这个代码中,我们将 index.ejs 模板渲染成 HTML 页面,并将 title 和 message 变量传递给模板。
总结
本文介绍了如何从零开始学习 Node.js 开发框架 Express。我们学习了如何安装 Node.js 和 Express,如何创建一个 Express 应用,如何定义路由和中间件,以及如何使用模板引擎。希望本文能够帮助你快速入门 Express,并开始开发高效、易维护的 web 应用。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656127c6d2f5e1655db4457c