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

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

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

相关文章

关于数据结构的整理

一.BRTEE: B树介绍: B 树是一种多路平衡查找树,通常用于数据库索引结构,在B树中,所有的关键字都被存储在叶子节点上,并按照顺序连接成一个有序链表。B树具有很好的平衡性和高效性,适用于范围查…

IDEA 每次启动都显示选择项目页面

IDEA版本:2021.3.3 打开 Settings > Appearance & Behavior > System Settings 取消勾选 Reopen projects on startup 然后下次启动 IDEA 会显示选择项目页面

Nacos中的负载均衡策略:深度解析与应用实践

作为一名资深的架构师,我深知在微服务架构中,负载均衡的重要性不言而喻。它关乎着服务的可用性、性能和稳定性。在众多微服务治理组件中,Nacos以其简洁易用、功能强大的特点,赢得了广大开发者的青睐。今天,我们就来深入…

Python代码:一、HelloWorld

1、题目: 将字符串 Hello World! 存储到变量str中,再使用print语句将其打印出来。 2、代码 import sys str Hello World ! print(str)3、在sublime运行的结果

第18节 神级开源shellcode工具:donut

我做了一个关于shellcode入门和开发的专题👩🏻‍💻,主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料,内容里面的每一个环境我都亲自测试实操过的记录,有需要的小伙伴可以参考。 我的…

python创建新环境并安装pytorch

python创建新环境并安装pytorch 一、创建新环境1、准备工作2、创建虚拟环境并命名3、激活虚拟环境 二、安装pytorch1、pytorch官网2、选择与你的系统相对应的版本3、安装成功 一、创建新环境 1、准备工作 本次创建的环境是在anaconda环境下,否则需要在纯净环境下创…

AutoNeRF:Training Implicit Scene Representations with Autonomous Agents

论文概述 《AutoNeRF》是由Pierre Marza等人撰写的一篇研究论文,旨在通过自主智能体收集数据来训练隐式场景表示(如神经辐射场,NeRF)。传统的NeRF训练通常需要人为的数据收集,而AutoNeRF则提出了一种使用自主智能体高效…

Spring Boot | Spring Boot 中 自定义“用户退出控制“、获取“登录用户信息“

目录: 一、SpringBoot 中 自定义 "用户授权管理" ( 总体内容介绍 ) :二、 自定义 "用户退出控制" ( 通过 "HttpSecurity类" 的 logout( )方法来实现 "自定义用户用户登录控制" ) :1.基础项目文件准备2.实现 "自定义身份认证"…

生产 Dockerfile 构建 nodejs 前端镜像打包内存溢出

错误:FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 该错误是在进行生产环境通过 Dockerfile 构建前端项目镜像时抛出的。 解决办法就是修改 node 内存限制: 从 Node.js v8.0 开始&…

springboot005学生心理咨询评估系统

springboot005学生心理咨询评估系统 亲测完美运行带论文:获取源码,私信评论或者v:niliuapp 运行视频 包含的文件列表(含论文) 数据库脚本:db.sql其他文件:ppt.ppt论文:开题.doc论文&#xf…

WT99C262-SG LoRa开发板使用教程

WT99C262-SG模块是全新一代的Wi-FiBLELoRa无线扩频模块,基于启明云端WTLRC262-SG系列模组设计开发的新一代LoRa扩频芯片方案设计的无线串口模块。具有多种传输方式,LoRa扩频技术,且模组大部分管脚均已引出至两侧排针,开发人员可根…

基于Springboot的高校电动车租赁系统。Javaee项目,springboot项目。

演示视频: 基于Springboot的高校电动车租赁系统。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring Spri…

(二刷)代码随想录第8天|344.反转字符串● 541. 反转字符串II

344.反转字符串 344. 反转字符串 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数…

音频筑基:200字说清声和音的区别(Sound/Audio/Music/Voice/Speech辨析)

音频筑基:200字说清声和音的区别(Sound/Audio/Music/Voice/Speech辨析) 音频筑基:200字说清声和音的区别 音频筑基:200字说清声和音的区别(Sound/Audio/Music/Voice/Speech辨析) 梳理如下: 声音 声(Sound) 广义:机械波…

【DevOps】linux 的网络绑定 (Bonding)应用

目录 一、什么是网络绑定 1、提高带宽 2、增加冗余和高可用性 3、 负载均衡 4、 故障转移 5、 多路径传输 二、主要模式 三、配置步骤 1、 安装必要的软件包 2、 加载 Bonding 内核模块 3、 配置网络接口 4、重启网络服务 四、测试和监控 Bonding 一、什么是网络绑…

爬虫界的“闪电侠”:异步爬虫与分布式系统的实战秘籍

Hi,我是阿佑,前文给大家讲了,如何做一个合法“采蜜”的蜜蜂,有了这么个自保的能力后,阿佑今天就将和大家踏入 —— 异步爬虫 的大门! 异步爬虫大法 1. 引言1.1 爬虫框架的价值:效率与复杂度管理…

卷轴分红商城模式:适用于多种的商业营销模式

卷轴分红商城模式是一种基于区块链技术的去中心化积分商城系统,通过智能合约和数字资产分红实现积分流通和价值回馈,适用于多种场景。 什么是卷轴分红商城模式: 这是一个去中心化的积分商城系统,消费者在商城消费时,可…

番外篇 | 一文读懂卷积神经网络(CNN)的基础概念及原理

前言:Hello大家好,我是小哥谈。卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,主要用于图像识别和计算机视觉任务。本文旨在对卷积神经网络进行详细的讲解,从基本原理到实际应用,帮助读者全面了解CNN的工作原理、优势和基本组成等,以及其在现实生…

异步编程CompletableFuture总结

文章目录 1. 简介:2. 比较1、传统方式2、使用CompletableFuture:异步执行返回值 3、组合处理:anyOfallof : 4. 异步回调:thenAcceptthenApplywhenComplete等同于 thenAccepthandel()等同于thenApply 5. 常用方法:1、su…

Python——IO编程

IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。 比如你打开浏览器,访问新浪…