时间:2021-08-05 08:30:05 | 栏目:NodeJS | 点击:次
如果想要在输入url
后直接访问服务端的静态文件,比如css
、js
、文件等,就需要知道这些静态文件的定位,在express
框架中express.static
中间件函数可以帮助我们实现。
Staic
是express
内置中间件函数,服务于静态文件,基于静态服务。Staic
函数封装在serve-static
模块当中,serve-static
模块抛出的serveStatic
就是static
方法。
上面注释说明了方法的作用,大概是说该中间件函数为给定根目录的文件提供服务,要服务的文件将通过将req.url
与提供的根目录相结合来确定。当找不到文件时,此模块将改为调用next()
以转到下一个中间件。废话不多说,实际操作一下:
在浏览器地址栏输入http://127.0.0.1:8888/public/images/111.jpg
发现可以访问到服务端静态图片。
中间件函数要服务的文件将通过将req.url
与提供的根目录相结合来确定,也就是说http://127.0.0.1:8888/
访问的就是中间件指定的目录。上图中http://127.0.0.1:8888/
对应的是项目的根目录,所以在http://127.0.0.1:8888/
后面加上public/images/111.jpg
就可以访问到静态图片了。
如果要使用多个静态资源目录,请多次调用express.static
中间件函数,Express
以您使用express.static
中间件函数设置静态目录的顺序来查找文件。要为express.static
函数提供的文件创建虚拟路径前缀(路径并不实际存在于文件系统中,请为静态目录指定安装路径。
其中,/images
和/files
是指定的虚拟目录,在服务端中实际是不存在的。