详解利用 Express 托管静态文件的方法


Posted in Javascript onSeptember 18, 2017

通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。

将静态资源文件所在的目录作为参数传递给 express.static 中间件就可以提供静态资源文件的访问了。例如,假设在 public 目录放置了图片、CSS 和 JavaScript 文件,你就可以:

app.use(express.static('public'));

现在,public 目录下面的文件就可以访问了。

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html

所有文件的路径都是相对于存放目录的,因此,存放静态文件的目录名不会出现在 URL 中。

如果你的静态资源存放在多个目录下面,你可以多次调用 express.static 中间件:

app.use(express.static('public'));
app.use(express.static('files'));

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

如果你希望所有通过 express.static 访问的文件都存放在一个“虚拟(virtual)”目录(即目录根本不存在)下面,可以通过为静态资源目录指定一个挂载路径的方式来实现,如下所示:

app.use('/static', express.static('public'));

现在,你就爱可以通过带有 “/static” 前缀的地址来访问 public 目录下面的文件了。

http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js获取当前月的第一天和最后一天的小例子
Nov 18 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
jQuery简单几行代码实现tab切换
Mar 10 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
Oct 08 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
jQuery animate easing使用方法图文详解
Jun 17 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
Sep 09 Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
Jan 24 Javascript
jQuery创建折叠式菜单
Jun 15 jQuery
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 Javascript
vue自动添加浏览器兼容前后缀操作
Aug 13 Javascript
Express使用html模板的详细代码
Sep 18 #Javascript
Mongoose中document与object的区别示例详解
Sep 18 #Javascript
新手vue构建单页面应用实例代码
Sep 18 #Javascript
angularjs路由传值$routeParams详解
Sep 05 #Javascript
vue-ajax小封装实例
Sep 18 #Javascript
信息滚动效果的实例讲解
Sep 18 #Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 #Javascript
You might like
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
详解EasyUi控件中的Datagrid
2017/08/23 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
Python基于贪心算法解决背包问题示例
2017/11/27 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
python版大富翁源代码分享
2018/11/19 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
python文件转为exe文件的方法及用法详解
2019/07/08 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
python怎么判断素数
2020/07/01 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
军人离婚协议书样本
2014/10/21 职场文书
2014年乡镇安全生产工作总结
2014/12/02 职场文书
具结保证书
2015/01/17 职场文书
广告业务员岗位职责
2015/02/13 职场文书
小组口号霸气押韵
2015/12/24 职场文书
入党申请书怎么写?
2019/06/11 职场文书
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis