手机版

express怎么用(初识 Express)

100次浏览     发布时间:2024-08-23 09:46:07     编辑: 佳浩努力

Express 简介

1. 什么是 Express


官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。


通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。


Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。


Express 的中文官网:Express - 基于 Node.js 平台的 web 应用开发框架 - Express 中文文档 | Express 中文网 (expressjs.com.cn)


2. 进一步理解 Express


思考:不使用 Express 能否创建 Web 服务器?


答案:能,使用 Node.js 提供的原生 http 模块即可。


思考:既生瑜何生亮(有了 http 内置模块,为什么还有用 Express)?


答案:http 内置模块用起来很复杂,开发效率低;Express 是基于内置的 http 模块进一步封装出来的,能够极大的提高开发效率。


思考:http 内置模块与 Express 是什么关系?


答案:类似于浏览器中 Web API 和 jQuery 的关系。后者是基于前者进一步封装出来的。


3. Express 能做什么


对于前端程序员来说,最常见的两种服务器,分别是:


Web 网站服务器:专门对外提供 Web 网页资源的服务器。


API 接口服务器:专门对外提供 API 接口的服务器。


使用 Express,我们可以方便、快速的创建 Web 网站的服务器或 API 接口的服务器。


Express 的基本使用

1. 安装


在项目所处的目录中,运行如下的终端命令,即可将 express 安装到项目中使用:




2. 创建基本的 Web 服务器


3. 监听 GET 请求


通过 app.get() 方法,可以监听客户端的 GET 请求,具体的语法格式如

4. 监听 POST 请求


通过 app.post() 方法,可以监听客户端的 POST 请求,具体的语法格式如下:


5. 把内容响应给客户端


通过 res.send() 方法,可以把处理好的内容,发送给客户端:




6. 获取 URL 中携带的查询参数


通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数:


7. 获取 URL 中的动态参数


通过 req.params 对象,可以访问到 URL 中,通过 : 匹配到的动态参数:



托管静态资源


1. express.static()


express 提供了一个非常好用的函数,叫做 express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:



现在,你就可以访问 public 目录中的所有文件了:


http://localhost:3000/images/bg.jpg


http://localhost:3000/css/style.css


http://localhost:3000/js/login.js


注意:Express 在指定的静态目录中查找文件,并对外提供资源的访问路径。


因此,存放静态文件的目录名不会出现在 URL 中。


这样就访问到了同级目录下clock文件夹里的html


2. 托管多个静态资源目录


如果要托管多个静态资源目录,请多次调用 express.static() 函数:



访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件。


因为先托管了files文件夹,然后是 clock文件,因为先执行了files里面的index文件


3. 挂载路径前缀


如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式:


现在,你就可以通过带有 /public 前缀地址来访问 public 目录中的文件了:


http://localhost:3000/public/images/kitten.jpg


http://localhost:3000/public/css/style.css