Node Express用法详解【安装、使用、路由、中间件、模板引擎等】

yizhihongxing

Node Express是一个基于Node.js的开源Web开发框架,提供了丰富的API和中间件,方便开发者构建高效、稳定的Web应用程序。本文将介绍如何安装、使用和配置Node Express框架,并详细讲解路由、中间件和模板引擎等相关知识。

安装Node Express

在安装Node Express之前,需要确保已经安装了Node.js。在命令行中输入以下命令,全局安装Node Express。

npm install -g express

使用Node Express

使用Node Express框架,需要在代码中引入express模块,并创建一个app对象,之后可以通过该对象来处理HTTP请求。

以下是一个简单的Node Express示例,监听端口3000,展示“Hello World!”消息。

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!')
})

在命令行中运行该文件,通过浏览器访问http://localhost:3000/,就会看到“Hello World!”消息。

路由

路由是Node Express中最重要的概念之一。它指定了如何处理客户端发送的HTTP请求。在Node Express中,路由可以通过HTTP请求的方法和请求路径来进行区分。

以下是一个示例,展示了如何使用路由来处理HTTP GET请求,和URL参数的传递和处理。

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

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

app.get('/users/:userId', (req, res) => {
  const userId = req.params.userId
  res.send(`User ${userId}`)
})

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

在浏览器中访问http://localhost:3000/users/1234,就可以看到显示“User 1234”消息的页面。

中间件

中间件是Node Express中另一个重要的概念,它允许开发者对HTTP请求过程中的不同阶段进行处理和修改。中间件可以在路由中使用,也可以在路由之前执行。

以下是一个示例,展示了如何使用中间件来记录HTTP请求的访问日志。

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

const loggerMiddleware = (req, res, next) => {
  const timestamp = new Date().toISOString()
  console.log(`[${timestamp}] ${req.method} ${req.url}`)
  next()
}

app.use(loggerMiddleware)

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

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

在命令行中运行该文件,通过浏览器访问http://localhost:3000/,观察日志可以看到类似以下的输出。

[2022-05-06T09:00:00.000Z] GET /

模板引擎

模板引擎是Node Express中用于动态生成HTML页面的工具。Node Express支持多种模板引擎,比如EJS、Handlebars、Pug等。

以下是一个示例,展示了如何使用EJS模板引擎来动态生成HTML页面。

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

// 设置模板引擎
app.set('view engine', 'ejs')

app.get('/', (req, res) => {
  const data = { name: 'John' }
  res.render('index', data)
})

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

在代码中,我们设置了EJS引擎作为模板引擎,并创建了一个以数据为参数的路由。在视图文件中,可以使用EJS的语法来动态生成HTML页面。

至此,我们对Node Express的安装、使用、路由、中间件和模板引擎等部分,都做了详细的讲解,希望对读者有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node Express用法详解【安装、使用、路由、中间件、模板引擎等】 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • node.js中对Event Loop事件循环的理解与应用实例分析

    Node.js中对Event Loop事件循环的理解与应用实例分析 什么是Event Loop? Event Loop(事件循环)是Node.js中一个非常重要的概念。它是Node.js实现异步I/O的核心机制。 Node.js是单线程的,它依赖于事件驱动模型来处理请求,当一个请求进来时,它会被添加到事件循环队列中等待被处理。Node.js会异步地去处理这些…

    node js 2023年6月8日
    00
  • node-sass@4.14.1报错的最终解决方案分享

    下面是关于“node-sass@4.14.1报错的最终解决方案分享”的完整攻略: 背景 首先,我们需要了解背景。node-sass是一个常用的将SCSS预处理器编译为CSS的工具,但在使用过程中,有些用户报告了“node-sass@4.14.1报错”的问题,原因是由于该版本的node-sass包是使用了一个已经被废弃的依赖项(libsass库)。这导致了编译…

    node js 2023年6月8日
    00
  • Nodejs学习item【入门手上】

    Node.js学习Item【入门手册】 这是一份Node.js入门手册,旨在为初学者提供指导和帮助。本手册将介绍Node.js基本概念、安装、使用、等内容。 一、Node.js是什么? Node.js是一个基于Chrome V8 JavaScript引擎的软件平台,用于构建快速的、可扩展的网络应用程序。它采用事件驱动、非阻塞I/O模型,使其变得轻量且高效。 …

    node js 2023年6月8日
    00
  • nodejs实现套接字服务功能详解

    Node.js实现套接字服务功能详解 本文介绍了如何使用Node.js实现套接字(Socket)服务功能。Socket是在应用程序之间传输数据的一种机制,即一种在计算机网络上运行的进程间通信机制。在Node.js中,可以使用net模块来创建套接字服务器。下面详细介绍Net模块的使用方法。 Net模块 Net模块提供了一个用于创建TCP或本地套接字服务器的AP…

    node js 2023年6月8日
    00
  • 浅谈nodeName,nodeValue,nodeType,typeof 的区别

    下面提供一份完整的攻略,以便你进行参考。 背景 在JavaScript中,有时需要处理HTML或XML文档中的节点,这些节点拥有如节点类型(NodeType)、节点名称(nodeName)、节点值(nodeValue)、数据类型(typeof)等关键词。它们有各自特殊的用途和区别。本文将深入浅出地讨论它们之间的联系和差异。 节点类型(NodeType) 在处…

    node js 2023年6月8日
    00
  • 跟我学Nodejs(二)— Node.js事件模块

    这里分享一下 “跟我学 Node.js(二)– Node.js 事件模块” 的攻略。 事件模块简介 Node.js 的事件模块(events module)是一个内置模块,可用于实现事件驱动(event-driven)模型的程序编写。事件模块提供了一个 EventEmmiter 类(又称为事件发射器),可以用它来触发事件、处理事件以及监听事件。该模块构建在…

    node js 2023年6月8日
    00
  • nodejs中解决异步嵌套循环和循环嵌套异步的问题

    在Node.js中,异步嵌套循环和循环嵌套异步是一个常见的问题。这会导致代码难以理解、维护和调试。以下是在Node.js中解决异步嵌套循环和循环嵌套异步的完整攻略。 解决异步嵌套循环的问题 当我们需要在循环内部调用异步函数时,很容易出现异步嵌套循环的问题。以下是一个示例: for (var i = 0; i < 10; i++) { asyncFunc…

    node js 2023年6月8日
    00
  • 浅谈如何把Node项目部署到服务器上

    让我来详细讲解如何把Node项目部署到服务器上的完整攻略。这里将分为以下步骤: 在服务器上安装Node.js,可以通过以下命令安装: $ sudo apt-get update $ sudo apt-get install nodejs 在服务器上安装Nginx,可以通过以下命令安装: $ sudo apt-get install nginx 配置Nginx…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部