Express的使用
官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。
Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
Express 的中文官网:http://www.expressjs.com.cn/
http 内置模块与 Express 类似于浏览器中 Web API 和 jQuery 的关系。后者是基于前者进一步封装出来的。
安装express
在项目所处的目录中,运行如下的终端命令,即可将 express 安装到项目中使用:
npm install express
创建基本的 Web 服务器
// 1.导入 express
const express = require('express');// 2.创建 web 服务器
const app = express();// 3.启动 web 服务器
app.listen(80, () => {console.log('express server running at http://127.0.0.1');
})
监听 GET 请求
// 参数1:客户端请求的 URL 地址
// 参数2:请求对应的处理函数
// req:请求对象(包含了于请求相关的属性与方法);
// res:响应对象(包含了与响应相关的属性与方法);
// 4. 监听客户端的GET和POST请求,并向客户端响应具体的内容
app.get('/user', (req, res) => {// 调用express提供的res.send()方法,向客户端响应一个JSON对象res.send({name: 'zs', age: 20, gender: '男'})
})
监听 POST 请求
// 参数1:客户端请求的 URL 地址
// 参数2:请求对应的处理函数
// req:请求对象(包含了于请求相关的属性与方法);
// res:响应对象(包含了与响应相关的属性与方法);
app.post('/user', (req, res) => {
// 调用express提供的res.send()方法,向客户端响应一个文本字符串res.send('请求成功')
})
获取 URL 中携带的查询参数
app.get('/', (req, res) => {
// 通过req.query 可以获取到客户端发送过来的 查询参数
// 注意: 默认情况下,req.query 是一个空对象console.log(req.query)res.send(req.query)
})
获取 URL 中的动态参数
通过req.params对象,可以访问到URL中,通过:匹配到的动态参数:
//注意:这里的:id是一个动态的参数
app.get('/user/:id/:name', (req, res) => {
// req.paraams 是动态匹配到的URL参数,默认也是一个空对象console.log(req.params)res.send(req.params)
})
托管静态资源
express.static()
express 提供了一个非常好用的函数,叫做 express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:
app.use(express.static('./clock'));
注意:Express 在指定的静态目录中查找文件,并对外提供资源的访问路径。因此,存放静态文件的目录名不会出现在 URL 中。
托管多个静态资源目录
如果要托管多个静态资源目录,请多次调用 express.static() 函数。
访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件。
app.use(express.static('./clock'));
app.use(express.static('./public'));
挂载路径前缀
如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式:
app.use('./public',express.static('./public'));
现在,你就可以通过带有 /public 前缀地址来访问 public 目录中的文件了:
http://localhost:3000/public/images/kitten.jpg
http://localhost:3000/public/css/style.css
http://localhost:3000/public/js/app.js
Express的使用相关推荐
- express+ejs搭建的留言
1.app.js const express = require('express'); const bodyParser = require('body-parser'); const morgan ...
- 学习笔记-express路径问题
在页面渲染成功之后,报错出现静态文件css样式引用路径出错,于是我就根据express api文档,托管静态文件作出修改,最后全是徒劳.于是我又从引用开始找起,<link rel="s ...
- express中放置静态文件
不使用模版引擎的话要直接添加html,可以使用express.static()中间件设定静态文件目录,然后将html文件放在里面,如:express默认静态文件目录为 app.use(express. ...
- Session原理、安全以及最基本的Express和Redis实现
Session原理.安全以及最基本的Express和Redis实现 https://segmentfault.com/a/1190000002630691 转载于:https://www.cnblog ...
- NodeJS+Mongodb+Express做CMS博客系统
楼主正在用业余时间开发中-- ,目前的版本仅支持会员系统,尝鲜一下吧~ hi-blog 一个 nodejs+express+mongodb 的 cms 系统 怎么启动 默认你已经安装了 mongodb ...
- 关于内网linux系统如果安装nodejs,npm,express,mongodb,forever等
内网的linux系统要安装nodejs以及express等系列的框架,因为系统是局域网和互联网是物理隔离的,所以,没法像官网的安装教程那样直接install了,只能手动安装,这里已经我们自己的linu ...
- Using NUnit with Visual Studio 2005 Express Editions
允许通过Build Toolbar选择"Debug" or "Relese"设置 "工具" -> "选项..." ...
- express给html设置缓存,webpack + express 实现文件精确缓存
由于最近开发的个人博客(Vue + node)在使用过程中,发现网络加载有点慢,所以打算对它进行一次优化.本次优化的目标如下: index.html 设置成 no-cache,这样每次请求的时候都会比 ...
- 三菱触摸屏usb驱动安装_2020年三菱EXPRESS SWB和LWB:竟然是日系中唯一没有屏幕的面包车...
我们听到三菱的Express van铭牌在中断七年后重新进入市场的消息而感到兴奋.但这并不是我们所设想的日式负载搬运器.相反,它完全基于日产-雷诺-三菱联盟的雷诺交通及其带来的协同效应.实际上,尽管每 ...
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件 下载地址 ...
最新文章
- Java 性能优化实战记录(3)--JVM OOM的分析和原因追查
- Linux下文件权限查看并使用chomd修改文件权限
- iphone屏幕录制_如何将iPhone投屏到Mac上?iphone投屏到苹果电脑方法
- JDK 下载相关资料
- linux mysql 8.0启动不了_MySQL官方源从8.0.3直接yum升级到8.0.4后无法启动
- 利用JS+Ajax实现下拉列表无刷联动,及其相关
- 再看2015 --北漂程序员的成长史
- safari里的touch事件解析
- 快速安装Pytorch
- 基于安卓/android/微信小程序的自来水收费系统app-#计算机毕业设计
- java生成顺丰电子面单,顺丰拼多多电子面单设置教程
- 步进电机、伺服电机、舵机的区别与控制(角度、转速)
- 金彩教育:选择关键词要参考哪些数据
- 画火柴人动画的手机软件_火柴人动漫制作软件下载-火柴人动漫制作手机中文版 v2.1.4_5577安卓网...
- Android 磁场传感器 地磁倾角计算 SensorManager.getInclination方法
- Arduino框架下 ESP32看门狗使用示例
- 时空之巅服务器在线玩,天域之巅 - 《神鬼传奇》官方网站
- 力扣热门题目简单部分合集(共23道)
- Picker 选择器
- ECharts 地图绘制