Express.js 是一个基于 Node.js 平台的 Web 应用程序开发框架,具有快速、简单、灵活和简洁等优点,已经成为 Node.js 的标准框架之一。在本文中,我们将详细介绍 Express.js 的使用方法,并通过示例代码指导读者如何使用 Express.js 搭建一个完整的 Web 应用。
安装 Express.js
在使用 Express.js 前,我们需要先安装 Node.js 环境。在 Node.js 安装完成的前提下,我们可以通过以下命令来安装 Express.js:
npm install --save express
创建 Express.js 应用
- 先创建一个空目录,例如
example-app
- 在目录下执行如下命令:
npm init -y
这将创建并初始化一个简单的 Node.js 项目,其中 -y
表示全部使用默认设置。
- 创建一个名为
index.js
的文件,并编写以下代码:
-- -------------------- ---- ------- ----- ------- - ------------------ ----- --- - --------- ------------ ----- ---- -- - --------------- -------- -- ---------------- -- -- - -------------------- --- --------- -- ---- ------- --
以上代码中,我们首先通过 require
引入了 express
模块并创建了一个 Express 应用实例 app
。其后,我们添加了一个简单的路由规则,即当用户访问根路径时,返回一句 Hello World!
。最后,我们通过 app.listen
方法启动了应用,并监听了 3000
端口号。
- 在命令行中执行以下命令启动应用:
node index.js
- 打开浏览器,访问
http://localhost:3000
,即可看到页面上显示的Hello World!
到此为止,我们已经成功地创建了一个 Express.js 应用,并实现了一个简单的路由规则。
设计路由规则
在 Express.js 中,路由规则用于指定请求的 URL 和相应的处理逻辑。
app.METHOD(PATH, HANDLER)
app
是一个express
实例;METHOD
是请求的 HTTP 方法,例如GET
,POST
等;PATH
是请求的 URL 路径;HANDLER
是当路由匹配时执行的函数。
此外,可以通过 app.use
方法指定中间件功能:
app.use(function (req, res, next) { console.log('Time:', Date.now()) next() })
中间件函数会在每个路由匹配前执行。在中间件函数中,next
参数使控制权传递给下一个中间件/路由,若没有调用 next()
,则请求将停留在该函数。
使用模板引擎
为了更重点的演示和特性,我们选择最受欢迎的模板引擎之一 -- EJS 进行演示。以下为使用 EJS 模板引擎模拟模板渲染是的基本代码示例,供读者参考。
app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.get('/blog', async (req, res) => { const blogPosts = await getAllBlogPosts(); res.render('blog', { blogPosts }); });
有需要的读者可以根据此示例进行 EJS 模板引擎的安装和学习。
添加数据库连接
目前为止的示例程序都是针对单一请求的,为了让我们的应用变得真正“完整”,我们需要引入数据库,并介绍如何在 Express.js 应用中使用数据库。
在本文中,我们选择一种轻量级且易于使用的 NoSQL 数据库,即 MongoDB。以下为使用 mongodb
模块和 MongoDB 数据库的示例代码:
const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://localhost:27017/myproject'; MongoClient.connect(url, function(err, client) { console.log("Connected successfully to server"); const db = client.db('myproject'); client.close(); });
以上代码中,我们首先使用 MongoClient.connect
方法连接到 MongoDB 数据库,然后在回调函数中访问数据库。其中,client.db
方法返回一个数据库对象 db
,可以用于后续的操作。
总结
在本文中,我们介绍了 Express.js 应用的基础知识、路由规则、模板引擎以及数据库连接等内容。以上示例代码虽然简单,但包含了搭建一个完整的 Web 应用所需要的所有基本元素。读者可以根据自己的需要深入学习 Express.js,并探索更多的功能和特性,构建一个更加复杂和实用的 Web 应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64acb46a48841e98948a2fda