node.js(基础四)_express基础

Node.js(基础四)_Express基础

在Node.js开发中,我们常常需要使用Web框架。其中,Express是一个流行的开源Node.js Web应用程序框架。它为Web应用程序提供了许多有用的功能,例如路由、模板引擎等。本文将介绍如何使用Express框架。

安装Express

要使用Express框架,首先需要安装它。可以使用以下命令在命令行中安装Express框架:

npm install express --save

这将在当前应用程序的node_modules目录下安装Express框架。

创建Express应用程序

使用Express开发Web应用程序,需要创建一个Express应用程序。通过下面的代码,可以创建一个最小的Express应用程序:

const express = require('express')
const app = express()

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(3000, () => {
  console.log('App listening on port 3000!')
})

在上面的代码中,我们首先引入了Express模块,然后使用express()函数创建一个应用程序实例。接下来,使用app.get()函数来处理HTTP GET请求。当用户访问根路由时,应用程序会响应“Hello World!”字符串。最后,应用程序会监听3000端口并打印一条消息到控制台。运行应用程序后,当你在浏览器中访问http://localhost:3000时,将看到“Hello World!”字符串。

使用路由

路由是Web应用程序中最常用的概念之一。通过路由,可以封装并组织Web应用程序的代码逻辑。使用Express,创建路由非常简单。下面的代码展示了如何创建路由,并响应GET和POST请求:

const express = require('express')
const app = express()

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.get('/about', (req, res) => {
  res.send('About page')
})

app.post('/submit', (req, res) => {
  res.send('Form submitted')
})

app.listen(3000, () => {
  console.log('App listening on port 3000!')
})

在上面的代码中,我们定义了3个路由:

  • GET /:响应根路径的请求,并返回一个“Hello World!”字符串。
  • GET /about:响应/about路径的请求,并返回一个“About page”字符串。
  • POST /submit:响应/submit路径的POST请求,并返回一个“Form submitted”字符串。

使用模板引擎

在Web应用程序中,使用模板引擎可以轻松地生成HTML页面。Express支持常见的模板引擎,如EJS、Handlebars和Pug。下面的代码展示了如何使用EJS模板引擎来生成HTML页面:

安装依赖:

npm install ejs --save

创建views目录,并编写view.ejs文件:

<!DOCTYPE html>
<html>
<head>
  <title>EJS Example</title>
</head>
<body>
  <h1><%= message %></h1>
</body>
</html>

编写以下代码:

const express = require('express')
const app = express()

app.set('view engine', 'ejs')

app.get('/', (req, res) => {
  res.render('view', { message: 'Hello World!' })
})

app.listen(3000, () => {
  console.log('App listening on port 3000!')
})

在上面的代码中,我们首先使用app.set()函数设置模板引擎为EJS,然后定义GET / 路由,使用res.render()函数来渲染一个名为view.ejs的模板,将message参数传递给模板。运行应用程序后,当你在浏览器中访问http://localhost:3000,将看到一个包含“Hello World!”字符串的HTML页面。

使用中间件

Express的一大特色是中间件。中间件是连接应用程序和路由的桥梁,它执行一些通用的任务,如用户身份验证和请求处理。应用程序中的每个路由都可以使用中间件。下面的代码展示了如何使用中间件:

const express = require('express')
const app = express()

// 定义中间件函数
const logMiddleware = (req, res, next) => {
  console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);
  next();
};

// 使用中间件函数
app.use(logMiddleware);

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(3000, () => {
  console.log('App listening on port 3000!')
})

在上面的代码中,我们定义了一个名为logMiddleware的中间件函数。它将输出HTTP请求的信息到控制台。然后使用app.use()函数将它添加到应用程序中。接下来定义GET /路由,该路由将响应“Hello World!”字符串。运行应用程序后,当你在浏览器中访问http://localhost:3000,将看到“Hello World!”字符串,并在控制台中看到HTTP请求的信息。

以上是Express框架的基础使用方式,希望通过本文的介绍,对于大家的学习有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js(基础四)_express基础 - Python技术站

(0)
上一篇 2023年3月29日
下一篇 2023年3月29日

相关文章

  • html5页面结构_动力节点Java学院整理

    HTML5页面结构攻略 HTML5是一种用于构建网页结构的标记语言。在本攻略中,我们将详细讲解HTML5页面结构的基本要素和示例说明。 1. 文档类型声明 在HTML5中,我们使用以下文档类型声明来指定文档类型: <!DOCTYPE html> 这个声明告诉浏览器当前文档是基于HTML5标准编写的。 2. 页面结构 HTML5引入了一些新的语义化…

    other 2023年9月6日
    00
  • 骁龙660aie和骁龙660区别两者性能对比哪个好?

    以下是“骁龙660AIE和骁龙660区别两者性能对比哪个好?”的完整攻略: 骁龙660AIE和骁龙660区别两者性能对比哪个好? 骁龙660AIE和骁龙660都是高通公司推出的中高端移动处理器,它们在性能和功能上有所不同。本攻略将详细讲解骁龙660AIE和骁龙660的区别,以及两者性能的对比。 骁龙660AIE和骁龙660的区别 骁龙660AIE和骁龙660…

    other 2023年5月8日
    00
  • Springboot如何优雅地进行字段校验

    下面是关于如何优雅地进行字段校验的 Spring Boot 攻略。 1. 配置实体类字段校验 首先,在实体类中使用 JSR303 验证为我们提供了强大的约束形式,可通过添加适当的注释来轻松验证诸如是否为空或字符串长度是否满足要求等逻辑。 例如,下面的实体类注释了一个用户名字段,这个字段不能为空,并且长度在 6 到 16 个字符之间: @Data public…

    other 2023年6月25日
    00
  • Android M版本号确认为Android 5.2 加入Demo mode

    Android M版本号确认为Android 5.2 加入Demo mode攻略 简介 Android M是Android操作系统的一个重要版本,其版本号已确认为Android 5.2。此外,Android M还引入了一个新功能,即Demo mode(演示模式),该模式可以用于展示设备的功能和特性,非常适用于展会、演示和教学等场景。本攻略将详细介绍如何确认A…

    other 2023年8月3日
    00
  • uniapp监听某一元素距离顶部高度的变化

    以下是详细讲解“uniapp监听某一元素距离顶部高度的变化的完整攻略”的标准Markdown格式文本,包含两个示例说明: uniapp监听某一素距离顶部高度的变化的完整攻略 在uniapp开发中,我们可以通过监听某一元素距离顶部高度变化,以实现一些特定的功能。本攻略将介绍如何监听某一元素距离顶部高度的变化。 骤一:获取元素高度 首先,需要获取需要监听的元素的…

    other 2023年5月10日
    00
  • zip文件怎么打开

    当我们下载一个zip文件时,该文件实际上是一个压缩文件,包含了多个文件或文件夹。为了打开zip文件,我们需要进行以下步骤: 下载并安装压缩软件在Windows系统中,常用的压缩软件有WinZip、WinRAR和7-Zip,Mac系统中,则自带了解压缩工具。你可以在压缩软件官网下载,也可以在应用商店中直接搜索下载安装。 打开压缩软件打开压缩软件后,就可以看到软…

    其他 2023年4月16日
    00
  • mybatis之嵌套查询和嵌套结果有哪些区别

    MyBatis之嵌套查询和嵌套结果的区别 在使用MyBatis进行数据库操作时,嵌套查询和嵌套结果是两个常用的特性。它们可以帮助我们在查询数据库时获取更复杂的数据结构。下面将详细讲解嵌套查询和嵌套结果的区别,并提供两个示例说明。 嵌套查询 嵌套查询是指在一个查询语句中嵌套另一个查询语句,以获取更多的相关数据。嵌套查询可以通过使用MyBatis的<sel…

    other 2023年7月27日
    00
  • C语言深入详解四大内存函数的使用

    C语言深入详解四大内存函数的使用攻略 1. malloc函数 malloc函数用于在堆内存中动态分配指定大小的内存空间,并返回一个指向该内存空间的指针。其函数原型如下: void* malloc(size_t size); 使用示例: #include <stdio.h> #include <stdlib.h> int main() …

    other 2023年8月2日
    00
合作推广
合作推广
分享本页
返回顶部