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

一、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框架

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DDoS防护的市场需求将不断增长,DDoS高防IP显得各位重要

分布式拒绝服务(DDoS)攻击是一种恶意攻击,它借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的为例。DDoS攻击通过大量合法的请求占用大…

19个测试⽤例⽣成的AI⼯具!卷起来!

在不断发展的软件开发领域中,确保应⽤程序的可靠性和功能性⾄关重要。 随着软件系统复杂性的增加,有效测试⽅法的需求也在上升。 传统的测试⽤例⽣成⽅法通常⽆法满⾜快速开发周期和复杂代码库的需求。 随着进⼊⼈⼯智能(AI)时…

treejs 3D+echart实现三维旋转炫酷导航网页

treejs 3Dechart实现三维旋转炫酷导航网页https://www.bilibili.com/video/BV1SM4m1C7ki/

行为驱动开源免费接口测试框架:karate

什么是行为驱动测试: 行为驱动测试(Behavior-Driven Testing,简称 BDT)是一种测试方法,旨在通过描述系统行为和功能来编写测试用例。BDT的重点是从用户的角度出发,描述系统应该如何行为,而不是专…

Python代码:四、读入整数数字

1、题目 在学会读入字符串以后,小白还想要读入整数,请你帮他使用input函数读入数字并输出数字与变量类型。 2、代码 import sysa int(input()) print(a, type(a), sep"\n") 3、在sublime运行结果

亚阈值电流镜

相同电流情况下,由于亚阈值区的gm较大,造成由于阈值电压Vth的失配造成的失配会更大,所以要规避过大的gm,选取较大的过驱动电压。 相同电流情况下,W/L的尺寸选的较小一点,或者说L一定时,W不要取得过大。 Q:Vgs一定的情况下,特别小,几乎小于Vth,一定是亚阈值电流镜吗。…

数据结构之栈与队列

一.栈 1.定义:一种线性表,只允许在固定的一端进行删除和插入数据的操作,该端叫栈底,另一端叫栈顶 2.特点:先进后出 注:栈中元素出栈是一对多的(他虽然满足先进后出但是我们可以在pop数据前先获取栈顶元素…

React 第三十二章 虚拟DOM

面试题:什么是虚拟DOM?其优点有哪些? 标准且浅显的答案 虚拟dom本质上就是一个普通的 JS 对象,用于描述视图的界面结构 虚拟 DOM 最早是由 React 团队提出来的,因此 React 团队在对虚拟 DOM 的定义上面有绝对的话语权。…

ASP.NET在线二手交易系统的设计与实现

摘 要 随着当今社会信息技术的进步,基于互联网的各种应用日益受到了人们的重视,二手商品的重新利用也逐渐被人们关注,二手交易系统就在这种形势下产生了,它利用网络,改变了人们的购物方式。 本文是基于现代二手交易…

醉了,面个功能测试,还问我Python装饰器

Python 装饰器是个强大的工具,可帮你生成整洁、可重用和可维护的代码。某种意义上说,会不会用装饰器是区分新手和老鸟的重要标志。如果你不熟悉装饰器,你可以将它们视为将函数作为输入并在不改变其主要用途的情况下扩展其功能的函数。装饰器可…

Git 分支命令操作详解

目录 1、分支的特点 2、分支常用操作 3、分支的使用 3.1、查看分支 3.2、创建分支 3.3、修改分支 3.4、切换分支 3.5、合并分支 3.6、产生冲突 3.7、解决冲突 3.8、创建分支和切换分支说明 1、分支的特点 同时并行推进多个功能开发,提高开发效率。各个分…

[ROS 系列学习教程] 建模与仿真 - URDF 建模实践

ROS 系列学习教程(总目录) 本文目录 一、机器人结构组成二、新建功能包三、编写launch文件四、创建底盘五、添加轮子六、添加其他部件七、解决部分实体位于地面以下的问题 前文介绍了URDF建模与URDF语法,接下来介绍怎么使用URDF从零构建一个机器人模型并在rviz中显示…

网络爬虫安全:90后小伙,用软件非法搬运他人原创视频被判刑

目录 违法视频搬运软件是网络爬虫 如何发现偷盗视频的爬虫? 拦截违法网络爬虫 央视《今日说法》栏目近日报道了一名程序员开发非法视频搬运软件获利超700多万,最终获刑的案例。 国内某知名短视频平台报警称,有人在网络上售卖一款视频搬运…

2024年最新最全面的软件测试面试题(四)

1、在项目中如何保证软件质量? 项目质量不仅仅是某个人或某个团队来保障的,而是整个团队一起努力的结果,因此,在公司级别需要 有一个规范的项目流程。 产品,保证迭代过程中的产品逻辑,对于可能的兼容,升…

C++列表实现

文章目录 一、listView相关内容主要思想实例全部代码 二、QTreeView 一、listView 相关内容 QAbstractItemModel:一个抽象的类,为数据项模型提供抽象的接口,常见的的数据模型列如:QStringListModel,QStandardItemMode,QDirModel…

(实测验证)Gitee代码托管尝试(一)——克隆/下载

一、登录 Gitee(码云)代码托管平台: Gitee - 基于 Git 的代码托管和研发协作平台 新建个人账户如下: 二、SSH 公钥设置 1、在git安装目录打开“git-cmd.exe”; 2、通过命令 ssh-keygen 生成 SSH Key: ssh-keygen …

社区服务用工具建立与居民的强关系

在数字化时代的浪潮下,社区服务不再局限于传统的面对面交流模式,而是借助互联网医疗健康服务应用,尤其是智慧康养服务平台,构建起了与居民之间更为紧密、便捷的联系。这种新型的社区服务模式,不仅提升了服务效率&#…

PDK安装及简介

目录 PDK简介 pdk安装 Standard Cell Library简介 IO Library简介 PDK简介 PDK:全称Process Design Kit,是工艺设计工具包的缩写,是制造和设计之间的沟通桥梁,是模拟电路设计的起始点。 具体来说,PDK是代工厂(FAB…

webhook 和 API:你了解吗

Webhooks 是许多 API 的补充。通过设置 webhook 系统,系统 B 可以注册接收有关系统 A 某些更改的通知。当更改发生时,系统 A 推送 更改到系统 B,通常是以发出 HTTP POST 请求的形式。 Webhooks 旨在消除或减少不断轮询数据的需要。但根据我的…

【Axure原型分享】动态伸缩组织架构图

今天和大家分享动态伸缩组织架构图图原型模板,我们可以通过点击加减按钮来展开或收起子内容,具体效果可以点击下方视频观看或者打开预览地址来体验 【原型效果】 【Axure高保真原型】动态伸缩组织架构图 【原型预览含下载地址】 https://axhub.im/ax9/…