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

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日

相关文章

  • nodejs实现日志读取、日志查找及日志刷新的方法分析

    Node.js实现日志读取、日志查找及日志刷新的方法分析 在Node.js中,可以通过模块来实现日志文件的读取、查找和刷新。以下是具体的步骤: 1. 安装模块 使用Node.js需要使用到fs和path模块,并且为了方便管理日志文件,还需要使用mkdirp和log4js模块。可以使用npm安装他们: npm install fs npm install pa…

    node js 2023年6月8日
    00
  • PHP中安装使用mongodb数据库

    下面是PHP中安装使用mongodb数据库的完整攻略。 安装 MongoDB PHP扩展 在PHP中使用mongodb数据库,需要安装MongoDB PHP扩展。这里以Linux系统为例,演示安装步骤: 使用终端进入服务器并使用root权限登录; 安装PHP MongoDB扩展所需的依赖库: apt-get update apt-get install ph…

    node js 2023年6月8日
    00
  • ES6的循环与可迭代对象示例详解

    ES6的循环与可迭代对象示例详解 在ES6中,引入了新的循环语法for…of,除了传统的数组和字符串,它还支持循环遍历可迭代对象。 什么是可迭代对象? 可迭代对象是一种数据结构,它定义了一种默认的迭代行为。在ES6中,任何具有Symbol.iterator属性的对象都可以被视为可迭代对象。Symbol.iterator是一个函数,返回一个迭代器对象。 一…

    node js 2023年6月8日
    00
  • nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较

    针对这个问题,我分几个部分来详细介绍一下。 简介 Assert 是 Node.js 中内置的一个断言库,用于测试和检查代码中的条件是否为真。它提供了 equal(), strictEqual(), deepEqual(), strictDeepEqual() 四种方法,这四种方法都被用于测试相等性。这四种方法之间的主要区别在于它们用于检查相等性的方式不同。 …

    node js 2023年6月8日
    00
  • nodejs+mysql实现用户相关的增删改查的详细操作

    首先,为了实现nodejs+mysql实现用户相关的增删改查,我们需要先安装以下两个模块: mysql模块:用于连接MySQL数据库,并执行相应的查询、新增、修改、删除操作 express框架:用于搭建web服务器 具体实现步骤如下: 步骤一:安装必备模块 在命令行窗口(终端)执行以下命令: npm install mysql express –save …

    node js 2023年6月8日
    00
  • 如何在node.js中使用​JsonWebToken模块进行token加密

    下面是如何在node.js中使用JsonWebToken模块进行token加密的完整攻略。 安装JsonWebToken模块 在使用JsonWebToken模块前,需要先在node.js环境下安装这个模块。 打开终端,进入项目所在的目录,运行以下命令: npm install jsonwebtoken 引入JsonWebToken模块 在需要使用JsonWe…

    node js 2023年6月8日
    00
  • 详解支持Angular 2的表格控件

    接下来我将详细讲解 “详解支持Angular 2的表格控件” 的完整攻略。 1. 引入表格控件 在 Angular 2 的项目中,你可以使用一些第三方的表格控件来解决数据展示的需要,例如: ng2-smart-table ngx-datatable ag-grid 以 ng2-smart-table 为例,你可以通过 npm 命令安装该控件: npm ins…

    node js 2023年6月8日
    00
  • js fill函数填充数组或对象的解决方法

    当我们需要用特定值填充JavaScript数组或对象时,可以使用fill()函数来快速完成。fill()函数可以接受两个参数,第一个参数代表要填充的值,第二个参数代表要开始填充的索引位置。如果省略第二个参数,默认从索引0开始填充。下面是fill()函数的语法: arr.fill(value[, start[, end]]) 这里的arr可以是数组或对象,va…

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