NodeJS之 Express框架 app.use(express.static)
一 、设置静态文件目录
语法如下:
app.use(express.static(_dirname + '/public')); //设置静态文件目录
注: 将静态文件目录设置为项目根目录 + ‘/public’,可以这样写
app.use(express.static(path.join(_dirname, 'public')));
运用path模版的join方法效果和前面是等价的。这里需要引用path模块。
path.join():将多个参数组合成一个 path
二、静态资源文件和动态资源文件是什么?
静态资源文件:对于不同的用户,内容都不会变化的文件。比如不管张三还是李四访问百度,他们所看到的图片、css、js文件都是一样的,我们成为静态资源文件;
动态资源文件: 对于不同用户,做出不同反应的就是动态文件,例如张三李四登陆百度,百度会分别对他们显示“张三,你好”、“李四,你好”,那么负责这些动态逻辑的文件就是动态文件了。
三、 app.use() 方法的作用
app.use : 用来给path注册中间函数的。这个path默认是“/”,也就是处理任何请求,同时注意的是他会处理path下的子路径,如果设置path为‘/hello’,那么请求路径为‘/hello/’,'/hello/nihao','/hello/bye'这样的请求都会交给中间函数处理的。
于是我们现在知道了app.use(express.static(_dirname + '/public'))是将所有请求,先交给express.static(_dirname + '/public')来处理一下。
四、express.static() 方法的作用
为了提供对静态资源文件(图片,css,js文件)的服务,请使用Express内置的中间函数express.static.
传递一个包含静态资源的目录给express.static中间件用于立即开始提供文件。 比如用以下代码来提供public目录下的图片、css文件和js文件:
app.use(express.static('public'));
现在可以加载public目录下的文件了:
比如: http://localhost:3000/image/jkk.png
通过多次使用 express。static中间件来添加多个静态资源目录:
app.use(express.static('public')); app.use(express.static('file'));
Express将会按照你设置静态资源目录的顺序来查看静态资源文件。
为了给静态资源文件创建一个虚拟的文件前缀(文件系统中不存在),可以使用express.static函数指定一个虚拟的静态目录,如下:
app.use('/static', express.static('public'))
现在你可以使用‘/static’作为前缀来加载public文件夹下的文件了
比如: http:// localhost:3000/static/image/kitten.jpg
参考文档:https://blog.csdn.net/u010977147/article/details/60956502
http://www.cnblogs.com/slovey/p/9213631.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从零打造聚合支付系统:一、浅谈聚合支付的核心价值
支付被誉为一切交易活动的咽喉,是商业活动的本质环节。 近两年,市场如雨后春笋般地涌现出一批“聚合支付”商家,如收钱吧、Ping++、钱方好近等等。 从零打造聚合支付系统系列文章将带你分析设计一套聚合支付系统。 从零打造聚合支付系统:一、浅谈聚合支付的核心价值从零打造聚合支付系统:二、建立领域模型从零打造聚合支付系统:三、应用微服务架构 那么,什么是聚合支付?其核心价值在哪里?是本文要讨论的重点内容。 支付电子化带来的机遇 当今,支付电子化已成为不可阻挡的趋势。 它天生便捷,没有找零的麻烦,提高收银的效率,想想在超市给个钱还要排个队,简直就是花钱遭罪。 大额支付场景下,不用携带大量现金,避免了盗抢与假币的困扰。不知道各们见识过会吞钱的点钞机。 收付双方身份及交易内容都记录在案,容易追踪,方便国家监管。 电子支付取代现金支付只是迟早的事。 这两年,得益于互联网公司发力,将智能手机与二维码等方式结合,大大提升了用户体验,同时二维码比POS机刷卡支付接入成本更低。 所以,以微信和支付宝为代表的电子支付迅速成就燎原之势。 可以这么说,在国内有网络覆盖的地方生活,只要一部手机在手,衣食住行无忧。 ...
- 下一篇
我的秋招经验分享(研发方向,已拿bat头条网易华为)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/82532520 本文是我在2018年7月到9月份参加校园招聘的一篇总结。 主要包括以下内容: 1 秋招小结 2 面经分享 3 Java后端技术专栏 4 Java工程师书单 5 学习资源分享 6 大牛博客推荐 7 笔试经验 8 面试经验 更多校招干货尽在微信公众号:程序员江湖 一:秋招小结 从七月初第一次投递简历,到九月初,整整两个月的时间,大大小小投了几十家公司,其中很多都是提前批,内推,也经历了许多的笔试,面试。 期间也拿了几个offer,包括百度,蚂蚁金服,华为,网易(网易云音乐没给offer,调到了其他部门)。有几家直接收到拒信的,包括拼多多,深信服。还有几家在等待结果,包括腾讯,头条(头条今天刚刚收到意向书),快手,斗鱼等。 当然也有一些还没面试完的公司以及待安排面试的公司,这里就不展开说了。 八月底基本上提前批就已经结束了,所以一般这段时间正式校招也开始了,各种大规模的笔试也很多,所以大家即使没有拿到offer也不要灰心,毕竟校招...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS6,CentOS7官方镜像安装Oracle11G
- Linux系统CentOS6、CentOS7手动修改IP地址
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8安装Docker,最新的服务器搭配容器使用