Express 框架介绍

这篇具有很好参考价值的文章主要介绍了Express 框架介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、简介

1.1 Web 应用

1.2 API

1.3 性能

1.4 框架

2、如何开始 Express 编程之旅

3、测试实例

4、其他问题

4.1 如何定义模型?

4.2 Express 支持哪些模板引擎?

4.3 如何处理 404 响应?

4.4 如何设置错误处理程序?

 4.5 如何渲染纯 HTML?


1、简介

Express  是快速、独立、极简的Node.js Web框架。主要体现在以下几个方面:

1.1 Web 应用

Express 是一个极简且灵活的 Node.js Web 应用框架,它为 Web 和移动应用提供了一组强大的功能。

1.2 API

有了无数的 HTTP 实用方法和中间件供您使用,创建强大的 API 变得快速而简单。

1.3 性能

Express 提供了一层薄薄的基本 Web 应用功能,而不会掩盖您熟悉和喜爱的 Node.js 功能。

1.4 框架

许多流行的框架都是基于 Express。

以下流行的Node.js框架都是基于Express构建的:

  • Feathers:在几分钟内构建原型,在几天内构建生产就绪的实时应用程序。
  • ItemsAPI:基于Express和Elasticsearch构建的Web和移动的应用程序的搜索后端。
  • KeystoneJS:网站和API应用程序框架/ CMS,具有自动生成的React.js管理员UI。
  • Poet:轻量级Markdown博客引擎,具有即时分页,标签和类别视图。
  • Kraken:安全且可扩展的层,通过提供结构和约定来扩展Express。
  • LoopBack:高度可扩展的开源Node.js框架,用于快速创建动态端到端REST API。
  • Sails:用于Node.js的MVC框架,用于构建实用的生产就绪应用程序。
  • Hydra-Express:Hydra-Express是一个轻量级的库,它有助于使用ExpressJS构建Node.js微服务。
  • Blueprint:用于构建API和后端服务的SOLID框架
  • Locomotive:Passport.js开发者为Node.js开发的强大MVC Web框架
  • graphql-yoga:功能齐全,但简单且轻量级的GraphQL服务器
  • Express Gateway:以Express为基础的功能齐全、可扩展的API网关
  • Dinoloop:基于typescript和依赖注入的Rest API应用框架
  • Kites:基于模板的Web应用框架
  • FoalTS:基于TypeScript的优雅且包罗万象的Node.Js Web框架。
  • NestJs:一个渐进式的Node.js框架,用于在TypeScript JavaScript(ES6,ES7,ES8)之上构建高效,可扩展和企业级的服务器端应用程序
  • Expressive Tea:一个小型框架,用于构建可模块化,干净,快速和描述性的服务器端应用程序,开箱即用。

2、如何开始 Express 编程之旅

3前提条件是本地环境必须安装了Node.js,如果没有安装可以参考这篇文章:Node.js 的安装

在本地创建一个目录,当作工作目录。

$ mkdir myapp
$ cd myapp

Express 框架介绍,Node.js,express,node.js,npm

 通过npm init 进行初始化,会在目录下生成package.json文件。

npm init

 按照提示,输入对应信息,按回车键会进入下一项的输入,如果是默认可以直接按回车健。如下图所示:

Express 框架介绍,Node.js,express,node.js,npm

对应字段信息包括以下:

package name:  包名称

version: 包版本

description: 包描述信息,让别人知道你这个包是做什么的。

entry point: 入口文件

test command: 测试命令

git repository: git 仓库地址

keywords: 关键词

author: 包的作者

license: (ISC) 许可默认为ISC,ISC许可是一种开放源代码许可证,在功能上与两句版的BSD许可证相同。

现在开始,我们把express安装在项目依赖中:

$ npm install express

Express 框架介绍,Node.js,express,node.js,npm

 安装完成,查看以下对应的目录:

Express 框架介绍,Node.js,express,node.js,npm

package.json 文件已创建,express依赖已安装,对应版本是4.18.2,在package.json里面指定了入口文件为index.js,那么在当前创建一个index.js的文件。

3、测试实例

在index.js写一个实例代码,如下所示:

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

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

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

我们先引入express的包,设置端口为3000,app.get 路由接受2个参数,第一个是地址,“/”是根目录,req是请求对象,res是响应对象,res.send向页面输入内容,最后app.listen 为监听端口,函数里为监听后打印的参数。

运行以下这个代码,如下所示:

node .\index.js

Express 框架介绍,Node.js,express,node.js,npm

在浏览器中,我们可以输入 http://localhost:3000/ 看一下页面输入结果:

Express 框架介绍,Node.js,express,node.js,npm 

 发现找到了对应的路由,并且打印里面的内容,如果我们输入未定义的路由地址,看一下结果,例如输入:http://localhost:3000/test

Express 框架介绍,Node.js,express,node.js,npm

 我们发现并没有找到对应路由,页面显示 404 Not Found。

4、其他问题

4.1 如何定义模型?

Express 没有数据库的概念。 这个概念留给第三方 Node 模块,允许你与几乎任何数据库进行交互。

有关以模型为中心的基于 Express 的框架,请参见 LoopBack。

4.2 Express 支持哪些模板引擎?

Express 支持任何符合 (path, locals, callback) 签名的模板引擎。 要规范模板引擎接口和缓存,请参阅 consolidate.js 项目以获得支持。 未列出的模板引擎可能仍支持 Express 签名。

4.3 如何处理 404 响应?

在 Express 中,404 响应不是错误的结果,因此错误处理程序中间件不会捕获它们。 此行为是因为 404 响应仅表示没有其他工作要做; 也就是说,Express 把所有的中间件函数和路由都执行了一遍,发现都没有响应。 你需要做的就是在堆栈的最底部(在所有其他函数下方)添加一个中间件函数来处理 404 响应:

app.use((req, res, next) => {
    res.status(404).send("不好意思,没有找到对应路径,请重新输入!")
})

Express 框架介绍,Node.js,express,node.js,npm

 在运行时在 express.Router() 的实例上动态添加路由,这样路由就不会被中间件函数取代。

4.4 如何设置错误处理程序?

你可以用与其他中间件相同的方式定义错误处理中间件,除了使用四个参数而不是三个; 特别是签名 (err, req, res, next)

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

app.get('/', (req, res) => {
//   res.send('Hello World!')
throw Error('this is error !')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

app.use((req, res, next) => {
    res.status(404).send("不好意思,没有找到对应路径,请重新输入!")
})

app.use((err, req, res, next) => {
    console.error(err.stack)
    res.status(500).send('报错了......')
  })

我们在路由中输出一个错误,然后中间件进行拦截,然后给出对应的提示,测试以下,浏览器中输入:http://localhost:3000/ 如下所示:

Express 框架介绍,Node.js,express,node.js,npm

 4.5 如何渲染纯 HTML?

你不需要! 不需要使用 res.render() 函数 “render” HTML。 如果你有特定文件,请使用 res.sendFile() 函数。 如果你从一个目录提供许多资源,请使用 express.static() 中间件函数。

const express = require('express')
const path = require("path")
const app = express()
const port = 3000

app.use(express.static(path.join(__dirname, 'static')))
app.get('/', (req, res) => {
    // res.sendFile("D:\\2023\\code_test\\myapp\\static\\index.html")
    res.sendFile("index.html")
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

app.use((req, res, next) => {
    res.status(404).send("不好意思,没有找到对应路径,请重新输入!")
})

app.use((err, req, res, next) => {
    console.error(err.stack)
    res.status(500).send('报错了......')
  })

Express 框架介绍,Node.js,express,node.js,npm

 res.sendFile() 可以返回指定的文件,默认传入的是一个绝对路径。

可以使用 express.static() 中间件函数,指定静态文件的目录。文章来源地址https://www.toymoban.com/news/detail-576422.html

到了这里,关于Express 框架介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node.js基本概念、特点、用途和常用模块,以及Express框架开发一个web应用

    目录 一、Node.js的基本概念和特点 二、Node.js的用途 三、Node.js的常用模块 四、使用Node.js进行Web开发 1. 安装Node.js 2. PyCharm配置Node.js 3. 使用http库编写一个web服务 4. 使用Express框架构建Web应用程序 5. 调试代码 6. 发布应用程序 参考文章  Node.js系列文章推荐阅读: JavaScript匿名函

    2024年02月07日
    浏览(86)
  • Node.js、Express框架之获取客户端IP地址,并获取IP对应的城市名「简单好用,收藏不亏」

    在进入正题之前,我们先来了解一下IP地址对我们开发者来说都有哪些重要的作用: IP地址是我们用来记录用户访问日志的一个重要标识。 一方面,我们可以用来防止某一个IP地址带来的大量DDOS攻击,通过判断IP地址来阻止此IP继续访问攻击; 另外一个用途是用来定位,通过

    2024年02月17日
    浏览(60)
  • node中间件-express框架

    方式一 : express提供的脚手架,直接创建一个应用的骨架 安装脚手架npm install -g express-generator 创建项目 express express-demo 安装依赖npm install 启动项目 node bin/www 方式二 : 从零搭建自己的express应用结构; 初始化项目 npm init 安装express npm i express 导入–创建–监听 使用参考文档 中

    2024年02月16日
    浏览(55)
  • Node服务器-express框架

    1 Express认识初体验 2 Express中间件使用 3 Express请求和响应 4 Express路由的使用 5 Express的错误处理 6 Express的源码解析 1、在项目文件的根目录创建package.json文件 2、下载express 3、基本使用 4、运行服务器 先要下载nodemon 中间件在express就是post或者get里面的回调函数(req,res,next)

    2024年02月01日
    浏览(42)
  • node.js中Express简介

    1.什么是Express 官方给出的概念:Express是基于Node.js平台,快速、开放、极简的web开发框架。 通俗理解:Express的作用和Node.js内置的http模块类似,是 专门用来创建web服务器的 Express的本质:就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法 2.进一步理解Express htt

    2024年02月08日
    浏览(54)
  • 【Node.js】Express-Generator:快速生成Express应用程序的利器

    在Node.js世界中,Express是一个广泛使用的、强大的Web应用程序框架。它为开发者提供了一系列的工具和选项,使得创建高效且可扩展的Web应用程序变得轻而易举。然而,对于初学者来说,配置和初始化Express应用程序可能会有些困难。为了解决这个问题,Express团队推出了一款名

    2024年02月10日
    浏览(52)
  • node.js(express.js)+mysql实现登录功能

    实现步骤 1.检测表单数据是否合法 2.根据用户名查询用户的数据 3.判断用户输入的密码是否正确 4.生成JWT 的 Token 字符串 登录接口完整代码如下:controllers/user.js文件 一、检测登录表单的数据是否合法 1)安装 jOi 包,为表单中携带的每个数据项,定义验证规则: (2)安装 @e

    2024年01月19日
    浏览(40)
  • node.js(express.js)+mysql实现注册功能

    /utils/db.js文件的代码如下: 项目安装指定版本bcryptjs库 再插入新用户时输入中文username mysql会 出现字符集不匹配的情况 报错情况如下: ER_CANT_AGGREGATE_2COLLATIONS: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘=’ 原因: mysql数据库建表的时候采

    2024年01月18日
    浏览(45)
  • node.js项目express的初始化

    👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! 在D盘新建一个文件夹,文件夹命名为api 将文件夹拖拽到vscode上面进行打开 新建一个终端 输入 npm init -y,初始化包管理工具 输入npm i express,安装express框架

    2024年01月18日
    浏览(55)
  • Node.js: express + MySQL实现修改密码

            实现修改密码,本篇文章实现修改密码只考虑以下几个方面:         (1),获取旧密码         (2),获取新密码         (3),将获取到的旧密码与数据库中的密码进行比对(避免修改错用户)         (4),新密码与进密码进行比对,新密码和旧密码不

    2024年02月16日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包