Node.js中Express入门和基础知识点学习
什么是Express
Express是Node.js中最常用的Web应用程序框架之一。它基于Node.js的HTTP模块进行了封装,使得开发者能够使用Express快速、方便地开发Web应用程序。Express具有以下特点:
- 快速:因为它是基于Node.js开发的,可以充分利用Node.js的高效性能。
- 简单:Express提供了很多易于使用的工具和函数,你可以轻松地开发Web应用程序。
- 灵活:Express提供了很多可定制的选项和配置,你可以按照你的需求对它进行修改。
安装和基础用法
首先,你需要在你的计算机上安装Node.js。你可以从Node.js官网(https://nodejs.org/)下载并安装它。安装完成后,你可以使用npm(Node.js包管理器)来安装Express:
npm install express
安装完成后,你可以创建一个Express应用程序:
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应用程序,然后在根路径上添加了一个get请求。当客户端在浏览器中访问该路径时,服务器将返回一个字符串“Hello World!”。
对于一个Web应用程序,你可能需要使用更多的功能,如模板引擎、路由器和数据库等。这些功能在Express中都有相应的模块和插件。
示例:使用模板引擎
模板引擎是一种将数据和模板结合起来生成HTML页面的工具。Express中提供了多种模板引擎,比如EJS、Pug(以前叫做Jade)和Handlebars等。下面我们以EJS为例,在Express中使用模板引擎:
npm install ejs
// 修改之前的代码
const express = require('express')
const app = express()
app.set('view engine', 'ejs')
app.get('/', (req, res) => {
res.render('index', {
title: 'Express',
message: 'Hello World'
})
})
app.listen(3000, () => {
console.log('Example app listening on port 3000!')
})
上面的代码中,我们使用了app.set()
方法来设置默认的视图引擎,并安装了EJS。然后我们添加了一个路由器,当访问根路径时,我们渲染了一个名为“index”的模板,用title和message这两个变量来填充数据。模板代码通常存储在views/
目录下,默认后缀为.ejs
。我们的模板内容如下:
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
</head>
<body>
<h1><%= message %></h1>
</body>
</html>
在这个模板中,我们使用了EJS提供的模板变量<%=
,来输出变量的值。EJS
之外的引擎使用不同的语法。
示例:使用路由器
路由器是Express中最常用的功能之一,它帮助你将HTTP请求分发到不同的处理函数中。下面是一个实现路由器的示例:
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.get('/about', (req, res) => {
res.send('About Us')
})
app.listen(3000, () => {
console.log('Example app listening on port 3000!')
})
在上面的示例中,我们添加了一个名为“about”的路由器,当客户端访问该路径时,服务器将返回字符串“About Us”。
还可以定义参数化路由器,这样可以方便地从客户端url中获取参数:
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.get('/users/:userId', (req, res) => {
res.send(`User ID: ${req.params.userId}`)
})
app.listen(3000, () => {
console.log('Example app listening on port 3000!')
})
在上面的示例中,我们定义了一个参数化路由器/users/:userId
。这里的:userId
是一个动态变量,可以从URL中提取。当客户端访问/users/123
时,服务器将返回字符串“User ID: 123”。
以上这些只是Express的基础知识点,你可以自由发挥地使用它来开发你自己的Web应用程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs中express入门和基础知识点学习 - Python技术站