node.js的Express框架的介绍 与 安装详细教程

news2024/9/21 2:34:47

一、Express框架介绍

(1)Express定义:

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。

使用 Express 可以快速地搭建一个完整功能的网站。

(2)Express 框架核心特性:

  • 可以设置中间件来响应 HTTP 请求。

  • 定义了路由表用于执行不同的 HTTP 请求动作。

  • 可以通过向模板传递参数来动态渲染 HTML 页面。

(3)Express使用的优点:

使用 Node.js 的 Express 框架来创建服务器确实与我们平时普通的创建服务器实现的效果在某些方面是相似的,但它们之间存在一些关键差异和优势,这些差异和优势使得 Express 成为许多开发者的首选工具。

例如:以前的http请求要运用太多if分支结构对不同的路径做出不同的请求响应。而express框架直接写路径就好,无需做if不同路径的判断,大大简化了开发

eg:若是get请求

const express=require('express');

const server=express();

server.get('/',(req,res){
...

})

简化开发:Express 是一个基于 Node.js 的轻量级框架,它提供了许多内置功能,可以帮助你更快地构建 Web 服务器和 API。通过 Express,你可以轻松地处理路由、中间件、请求和响应对象等,而无需从头开始编写大量代码。

中间件支持:Express 提供了强大的中间件支持,这是一种允许你在请求-响应周期的不同阶段插入自定义逻辑的机制。通过使用中间件,你可以执行身份验证、记录、数据验证等任务,而无需在每个路由处理器中重复这些代码。

路由和 URL 映射:Express 提供了一个简单而强大的路由系统,允许你定义不同的 URL 路径和 HTTP 方法(如 GET、POST、PUT、DELETE 等)的处理程序。这使得构建 RESTful API 和 Web 应用程序变得更加容易。

错误处理:Express 提供了一个统一的错误处理机制,允许你捕获并处理应用程序中发生的错误。你可以定义全局错误处理程序,以便在发生未捕获的异常时提供有用的反馈。

模板引擎集成:Express 可以与多种模板引擎(如 EJS、Pug、Handlebars 等)集成,这使得在服务器端渲染 HTML 页面变得更加容易。你可以使用模板引擎来动态生成 HTML 内容,并将其发送给客户端。

与 Node.js 生态系统的集成:由于 Express 基于 Node.js,因此它可以充分利用 Node.js 的强大生态系统。你可以使用 npm(Node.js 的包管理器)来安装和管理依赖项,并使用其他 Node.js 库和工具来增强你的应用程序的功能。

可扩展性:Express 的设计使其易于扩展和定制。你可以根据需要添加自定义中间件、路由处理程序和实用程序,以满足你的特定需求。

总之,虽然使用纯 Node.js 创建服务器也是可行的,但使用 Express 框架可以大大简化开发过程,并提供许多有用的功能和工具,使你能够更高效地构建 Web 服务器和 API。

二、Express框架的安装

Express框架的安装方式分为两种:全局安装和本地安装

(1)全局安装:

  1. 全局安装的原因

    • 方便命令行工具使用:有些命令行工具可能会依赖全局安装的 Express 模块来执行一些操作,比如一些脚手架工具可能会在全局安装的 Express 模块的基础上生成项目模板。
    • 全局命令行工具:有时候,你可能会使用全局安装的 Express 框架来创建全局命令行工具,以方便在命令行中使用 Express 框架提供的功能。
  2. 全局安装的用途

    • 创建全局命令行工具:你可以使用 Express 框架来创建自己的命令行工具,比如用于项目生成、管理等。
    • 快速搭建服务器:全局安装 Express 可以让你在任何地方使用 express 命令快速创建一个 Express 服务器,而不需要在每个项目中单独安装 Express。
    • 学习和测试:有时候你可能想要快速测试一些 Express 的功能或者学习一些 Express 的用法,全局安装可以让你在不同的项目中轻松使用 Express,而不用每次都安装一遍。

虽然全局安装 Express 有其用途,但是在实际项目中,更常见的做法是在每个项目中局部安装 Express,并将其作为项目的依赖项进行管理。

 验证安装:安装完成后,你可以验证是否成功安装 Express。在命令提示符中输入express --version命令并按下 Enter 键,来查看版本号

版本号出来了证明安装成功

三、全局安装的具体步骤:

以管理员身份打开命令提示符,输入以下:

(1)全局安装express 

npm install -g express

(2)全局安装项目生成工具 

npm install -g express-genetator

(3)创建项目 

注意:要定位到文件夹下再去创建项目 

定位:在文件资源管理器中找到需要的文件夹,路径上面输入cmd打开命令提示符

点击以上路径,输入cmd再回车:

 

创建:创建一个以项目名称命名的文件夹 express -e 自定义名称

再去cd 自定义名称

(4)启动项目 

初始化 npm install  ,默认会将当前项目所依赖的模块自动帮你安装好

此时我们vscode的good项目文件夹中建立了first和它的相关配置

打开vscode定位到项目文件夹下 ,在终端打开

启动项目命令 node ./bin/www  或者 npm start

默认3000端口,此时打开浏览器,输入http://127.0.0.1:3000 

(5)注意:全局安装成功后,我们vscode的项目就无需下载express,任意项目都可以直接使用express框架了

前提:得去我们vsode中的项目文件夹中运用express全局安装好的框架:

定位到我们项目文件夹,cmd打开命令提示符,输入以下命令,让我们的项目将Express作为依赖项安装
npm install express --save

 或者如果您使用的是Yarn,就输入以下命令:

yarn add express

这将在我们的项目文件夹中安装Express并将其添加到项目的依赖项中。然后,我们能够在VSCode中正常使用Express框架了。

 

四、本地安装 的步骤

即只安装在当前项目中

(1)打开我们需要运行的项目文件,在集成终端打开

(2)输入 npm install express ,程序会自动在当前项目的根目录下新建一个名为 node_modules 的文件夹,然后把 express 安装在这个文件夹中

(3) 在项目文件中通过 require() 来使用express框架

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1679185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序快速开发-基础内容(内容真的又多又干货)

目录 实现横向布局效果 实现滚动效果 实现轮播图效果 实现文本长按选中复制效果 渲染 HTML 标签 按钮组件的使用效果 图片组件的使用效果 Mustache 语法 动态绑定内容(定义变量,渲染变量) 动态绑定属性(将属性定义为变量…

2024年中国国际厨卫家居展览会(上海KIB厨卫展)

中国国际厨卫家居博览会(KIB)由中国五金制品协会、中国国际贸易促进委员会轻工行业分会、北京奥维云网大数据科技股份有限公司主办。从最初的“中国国际橱柜、厨房卫浴产品与技术博览会(CIKB)”,到2001年与中国国际五金展&#xf…

LSTM与GAN创新结合!模型性能起飞,准确率超98%

今天来聊一个深度学习领域非常具有创新性的研究方向:LSTM结合GAN。 LSTM擅长处理和记忆长期的时间依赖关系,而GAN可以学习复杂的数据分布并生成逼真的数据样本。通过充分结合两者的优势,我们可以增强模型对复杂数据的处理能力,提…

scanf读取标准输入

内容 scanf函数的原理 多种数据类型混合输入 常用的数据输入/输出函数 程序员可以给程序输入数据,程序处理后会返回一个输出。C语言通过函数库读取标准输入,然后通过对应函数处理将结果打印到屏幕上,printf函数可以将结果打印到屏幕上。下…

英语学习笔记14——What color‘s your ... ?

What color’s your … ? 你的 …… 是什么颜色的? 词汇 Vocabulary case n. 箱子【封闭的】 相关:box n. 箱子【开口的】    bookcase n. 书架 补充:case n. 案件,案例 口语:It’s a small case.    小意思&…

稚晖君独家撰文:具身智能即将为通用机器人补全最后一块拼图

具身智能新纪元。 *本文为稚晖君独家供稿,「甲子光年」经智元机器人授权发布。稚晖君本名彭志辉,先后任职OPPO、华为,现为智元机器人CTO、首席架构师。 在ChatGPT之后,又一个大模型概念火了——具身智能(Embodied AI)。 在学术界,图灵奖得主、上海期智研究院院长姚期…

【数据结构】堆(超详细)

文章目录 前言堆的概念及结构堆的实现堆的向下调整算法(建小堆为例)堆的向上调整算法(建小堆为例)堆的初始化销毁堆堆的插入堆的删除(规定删堆顶的数据)取堆顶元素判断堆是否为空获取堆的个数 完整代码(包括测试代码&a…

解决kali Linux2024无法获取动态IPv4地址(DHCP)解决方案

用root用户启动终端 进入根目录,选择配置文件 cd到根目录下/../etc/network找到interfaces文件 编辑interfaces文件 vi interfaces,编辑interfaces文件 输入如下命令 打开虚拟网络编辑器 选择虚拟机选项卡,编辑,打开虚拟网络编…

【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解

我们程序员写的一个个解决我们实际问题,满足我们日常需求的网络程序,都是在应用层。 前面写的套接字接口都是传输层经过对 UDP 和 TCP 数据发送能力的包装,以文件的形式呈现给我们,让我们可以进行应用层编程。换而言之&#xff0c…

50.乐理基础-拍号的类型-混合拍子

混合拍子的定义: 1.由不同的单拍子组合起来的,如图1。 2.因为组合顺序有多种可能,所以次强拍的位置也有多种可能,如图3。 图1:四二拍是单拍子,四三拍也是单拍子,四二拍 与 四三拍就是 不同的单拍…

网络游戏同步技术六:若干问题探讨

本文探讨网络同步的几个问题。 王者荣耀使用帧同步明智吗? 这个很难评,成王败寇,它成功了,它就是明智的。但是帧同步带来的心智负担还是很重的,他们的分享里面也提到他们花了很大的功夫去解决不一致问题。 个人更喜欢…

Sketch总结

sketch禁用了lineGap https://www.sketch.com/docs/designing/text/ http://www.sketchcn.com/sketch-chinese-user-manual.html https://github.com/sketch-hq/sketch-document https://developer.sketch.com/file-format/ https://animaapp.github.io/sketch-web-viewer/ htt…

定时发圈操作介绍

1、登陆已有的账号,点击到"朋友圈"功能 2、选择要发圈的微信号,编辑发圈的文案内容 3、自定义想要的时间点 4、点击"立即发送" 5、可进行跟圈

校园防欺凌平台

校园霸凌事件很难被发现,发现者又可能迫于威胁而不敢告发,被霸凌者又因各种原因而选择忍耐,所以,如果能够在发生校园霸凌的时候,做出及时的预警,也许能够拯救挽回无数个家庭。本平台结合防欺凌设备&#xf…

Transformer - Self-Attention层的复杂度的计算

Transformer - Self-Attention层的复杂度的计算 flyfish 矩阵的维度 下面矩阵的维度是32即 3行,2列 6,10等都是矩阵里的元素 如果矩阵A的列数与矩阵B的行数相同,那么这两个矩阵可以相乘。即,若A是一个mn矩阵,B是一个np矩阵&am…

python文件操作常用方法(读写txt、xlsx、CSV、和json文件)

引言 用代码做分析的时候经常需要保存中间成果,保存文件格式各不相同,在这里好好总结一下关于python文件操作的方法和注意事项 Python 提供了丰富的文件操作功能,允许我们创建、读取、更新和删除文件。允许程序与外部世界进行交互。 文章目录…

用c++实现快速排序、最大子段和问题

6.2.2 快速排序 【问题】快速排序(quick sort)的分治策略如下(图6-5)。 (1)划分:(选定一个记录作为轴值,以轴值为基准将整个序列划分为两个子序列,轴值的位置在划分的过程中确定,并且左侧子序列的所有记录…

mysql主从热备+keepalived 部署mysql高可用主备模式

目录 1、环境准备 2、分别在主服务器和备用服务器上安装keepalived 3、修改keepalived服务的配置文件 3.1 修改主服务器上的keepalive服务的配置文件 3.2 修改备用服务器上的keepalive服务配置文件 4、编写mysql监控脚本放到主服务器上 5、在主服务器和备用服务器上查看…

工厂自动化升级改造(3)-Modbus与MQTT的转换

什么是MQTT,Modbus,见下面文章 工厂自动化升级改造参考(01)--设备通信协议详解及选型-CSDN博客文章浏览阅读608次,点赞9次,收藏6次。>>特点:基于标准的以太网技术,使用TCP/IP协议栈,支持高速数据传输和局域网内的设备通信。>>>特点:跨平台的通信协议,…

【Java基础】集合(2) —— List

List 存储的对象是有序的&#xff08;集合中存储对象的顺序和使用add方法添加对象的顺序一致&#xff09;&#xff0c;存储的对象是可重复的。 List的特有的功能: 都是可以操作索引的功能。 增: void add(int index, E element )boolean addAll(int index, Collection<? …