「这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战」
前言
大家好,我是程序猿小白 GW_gw,很高兴能和大家一起学习进步。
Express 是一个灵活的 node.js Web应用框架,Express核心有很多的中间件函数,今天我们就来一起学习其中的express.static中间件,用来托管静态文件。
先来了解以下静态资源文件方便下面得到理解。
静态资源文件:静态资源文件就是已经写好的css,js文件等,无论是谁访问都会得到相同的内容。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍Express的中间件函数express.static。
express.static()
利用express.static托管静态文件,例如:css文件,JavaScript文件,图像文件等等。
使用方法:
express.static(root, [options])
root参数指定静态文件的根目录。
实例展示:
app.use(express.static('public'))
在访问静态文件时不需要把目录名放到url中。
实例展示:访问public目录下的images中的图片和index.html
http://localhost:3000/images/logo.png
http://localhost:3000/index.html
可以设置多个静态文件目录。只要多次调用express.static即可。
app.use(express.static('public01'))
app.use(express.static('public02'))
在访问静态文件时,中间件函数会按照静态目录的设置顺序来依次从静态目录中寻找到所需的静态文件。
当然如果需要的话也可以给静态文件加上统一的前缀地址,你只需要做如下设置即可。
app.use('/static',express.static('public'))
接下来访问静态文件的时候就需要全部加上前缀地址。
http://localhost:3000/static/index.html
实际应用中我们使用的更多的是和path模块结合起来来保证路径的正确性。
app.use(express.static(path.join(__dirname, 'public')))
当然我们可能会遇到访问不到静态文件的情况,可能是文件确实或者是输入错误。
当找不到文件时,express.static不是发送404响应,而是调用next()移动到下一个中间件,并且允许堆叠和回退。
结语
以上就是关于Express.static中间件函数的一些基本使用,如有不正之处,欢迎掘友们留言指正。