百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

初识Node.js中的express框架(node. js框架)

ztj100 2025-03-24 01:40 14 浏览 0 评论

Express框架是Node.js基金会的一个项目,官方网址为http://expressjs.com。(中文网站为
http://expressjs.com/zh-cn)。
它提供了对Node.js原生API比较好的封装,从而使开发者更容易的使用Node.js,并用来开发强壮的Web、移动应用,以及API的一些其他功能。开发人员还能够方便的为它开发插件和扩展,从而增加Express的能力。

简言之,Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。

通过使用Node Express,可以使用更少的代码来实现功能。至少通过使用Node Express可以实现中间件来响应http请求,可以定义路由表来定义不同请求的响应函数,还可以使用模板引擎来输出html页面。其实这也是Express的核心特点。

Express 框架核心特性:

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

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

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

好,接下来我们进行Express的安装,我们通过以下命令就可以安装 Express 并将其保存到依赖列表中:

npm install express --save

上命令会将 Express 框架安装在当前目录的 node_modules 目录中, node_modules 目录下会自动创建 express 目录。以下几个重要的模块是需要与 express 框架一起安装的:

body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。

cookie-parser - 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。

multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。

npm install body-parser --save

npm install cookie-parser --save

npm install multer --save

安装完后,我们可以通过以下npm命令查看 express 使用的版本号:

npm list express

如果小伙伴们进行到了上一步骤,说明我们已经把Express安装成功了。接下来,我们就可以学习Express和使用它进行一个实例的开发。哈哈,废话不多说,第一个实例想都不用想,就是用Express框架来输出Hello World。

以下实例的需求呢就是,我们新建一个demo.js文件,在文件我们需要引入express模块,并在客户端发起请求后,响应“Hello World”字符串。

创建demo.js文件,代码如下所示:

上面代码写完之后,我们开始运行,程序运行起来,通过访问http://localhost:3000/

就可以看到字符串“Hello World”

接下来,我们看看Express是如何处理请求和响应的。

Express 应用使用回调函数的参数: requestresponse 对象来处理请求和响应的数据。

app.get('/', function (req, res) {

// --})

request 和 response 对象的具体介绍:

Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性。常见属性有:

1.req.app:当callback为外部文件时,用req.app访问express的实例

2.req.baseUrl:获取路由当前安装的URL路径

3.req.body / req.cookies:获得「请求主体」/ Cookies

4.req.fresh / req.stale:判断请求是否还「新鲜」

5.req.hostname / req.ip:获取主机名和IP地址

6.req.originalUrl:获取原始请求URL

7.req.params:获取路由的parameters

8.req.path:获取请求路径

9.req.protocol:获取协议类型

10.req.query:获取URL的查询参数串

11.req.route:获取当前匹配的路由

12.req.subdomains:获取子域名

13.req.accepts():检查可接受的请求的文档类型

14.req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages:返回指定字符集的第一个可接受字符编码

15.req.get():获取指定的HTTP请求头

16.req.is():判断请求头Content-Type的MIME类型

Response 对象 - response 对象表示 HTTP 响应,即在接收到请求时向客户端发送的 HTTP 响应数据。常见属性有:

1.res.app:同req.app一样

2.res.append():追加指定HTTP头

3.res.set()在res.append()后将重置之前设置的头

4.res.cookie(name,value [,option]):设置Cookie

5.opition: domain / expires / httpOnly / maxAge / path / secure / signed

6.res.clearCookie():清除Cookie

7.res.download():传送指定路径的文件

8.res.get():返回指定的HTTP头

9.res.json():传送JSON响应

10.res.jsonp():传送JSONP响应

11.res.location():只设置响应的Location HTTP头,不设置状态码或者close response

12.res.redirect():设置响应的Location HTTP头,并且设置状态码302

13.res.render(view,[locals],callback):渲染一个view,同时向callback传递渲染后的字符串,如果在渲染过程中有错误发生next(err)将会被自动调用。callback将会被传入一个可能发生的错误以及渲染后的页面,这样就不会自动输出了。

14.res.send():传送HTTP响应

15.res.sendFile(path [,options] [,fn]):传送指定路径的文件 -会自动根据文件extension设定Content-Type

16.res.set():设置HTTP头,传入object可以一次设置多个头

17.res.status():设置HTTP状态码

18.res.type():设置Content-Type的MIME类型

今天小编就把Express框架先介绍到这里吧。其实呢,Express框架还有很多核心功能,例如其中的路由、处理静态文件、处理get请求、post请求等等功能,这写功能的使用,我们将会在下期在一一介绍,我们下期再见。

相关推荐

30天学会Python编程:16. Python常用标准库使用教程

16.1collections模块16.1.1高级数据结构16.1.2示例...

强烈推荐!Python 这个宝藏库 re 正则匹配

Python的re模块(RegularExpression正则表达式)提供各种正则表达式的匹配操作。...

Python爬虫中正则表达式的用法,只讲如何应用,不讲原理

Python爬虫:正则的用法(非原理)。大家好,这节课给大家讲正则的实际用法,不讲原理,通俗易懂的讲如何用正则抓取内容。·导入re库,这里是需要从html这段字符串中提取出中间的那几个文字。实例一个对...

Python数据分析实战-正则提取文本的URL网址和邮箱(源码和效果)

实现功能:Python数据分析实战-利用正则表达式提取文本中的URL网址和邮箱...

python爬虫教程之爬取当当网 Top 500 本五星好评书籍

我们使用requests和re来写一个爬虫作为一个爱看书的你(说的跟真的似的)怎么能发现好书呢?所以我们爬取当当网的前500本好五星评书籍怎么样?ok接下来就是学习python的正确姿...

深入理解re模块:Python中的正则表达式神器解析

在Python中,"re"是一个强大的模块,用于处理正则表达式(regularexpressions)。正则表达式是一种强大的文本模式匹配工具,用于在字符串中查找、替换或提取特定模式...

如何使用正则表达式和 Python 匹配不以模式开头的字符串

需要在Python中使用正则表达式来匹配不以给定模式开头的字符串吗?如果是这样,你可以使用下面的语法来查找所有的字符串,除了那些不以https开始的字符串。r"^(?!https).*&...

先Mark后用!8分钟读懂 Python 性能优化

从本文总结了Python开发时,遇到的性能优化问题的定位和解决。概述:性能优化的原则——优化需要优化的部分。性能优化的一般步骤:首先,让你的程序跑起来结果一切正常。然后,运行这个结果正常的代码,看看它...

Python“三步”即可爬取,毋庸置疑

声明:本实例仅供学习,切忌遵守robots协议,请不要使用多线程等方式频繁访问网站。#第一步导入模块importreimportrequests#第二步获取你想爬取的网页地址,发送请求,获取网页内...

简单学Python——re库(正则表达式)2(split、findall、和sub)

1、split():分割字符串,返回列表语法:re.split('分隔符','目标字符串')例如:importrere.split(',','...

Lavazza拉瓦萨再度牵手上海大师赛

阅读此文前,麻烦您点击一下“关注”,方便您进行讨论和分享。Lavazza拉瓦萨再度牵手上海大师赛标题:2024上海大师赛:网球与咖啡的浪漫邂逅在2024年的上海劳力士大师赛上,拉瓦萨咖啡再次成为官...

ArkUI-X构建Android平台AAR及使用

本教程主要讲述如何利用ArkUI-XSDK完成AndroidAAR开发,实现基于ArkTS的声明式开发范式在android平台显示。包括:1.跨平台Library工程开发介绍...

Deepseek写歌详细教程(怎样用deepseek写歌功能)

以下为结合DeepSeek及相关工具实现AI写歌的详细教程,涵盖作词、作曲、演唱全流程:一、核心流程三步法1.AI生成歌词-打开DeepSeek(网页/APP/API),使用结构化提示词生成歌词:...

“AI说唱解说影视”走红,“零基础入行”靠谱吗?本报记者实测

“手里翻找冻鱼,精心的布局;老漠却不言语,脸上带笑意……”《狂飙》剧情被写成歌词,再配上“科目三”背景音乐的演唱,这段1分钟30秒的视频受到了无数网友的点赞。最近一段时间随着AI技术的发展,说唱解说影...

AI音乐制作神器揭秘!3款工具让你秒变高手

在音乐创作的领域里,每个人都有一颗想要成为大师的心。但是面对复杂的乐理知识和繁复的制作过程,许多人的热情被一点点消磨。...

取消回复欢迎 发表评论: