详解利用 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 相关文章推荐
浅谈Javascript嵌套函数及闭包
Nov 09 Javascript
jQuery参数列表集合
Apr 06 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
Aug 18 Javascript
纯JavaScript代码实现移动设备绘图解锁
Oct 16 Javascript
关于RequireJS的简单介绍即使用方法
Oct 20 Javascript
微信小程序 网络请求(post请求,get请求)
Jan 17 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
Apr 28 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
layui上传图片到服务器的非项目目录下的方法
Sep 26 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回溯法解决0-1背包问题实例分析
2015/03/23 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
js取得url地址参数实例
2013/02/22 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
js 走马灯简单实例
2013/11/21 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现
2015/03/05 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
分享Python字符串关键点
2015/12/13 Python
Python语言的变量认识及操作方法
2018/02/11 Python
python如何制作英文字典
2019/06/25 Python
python读取ini配置的类封装代码实例
2020/01/08 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
一个精品风格的世界:Atterley
2019/05/01 全球购物
奥巴马当选演讲稿
2014/09/10 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android
python pygame 开发五子棋双人对弈
2022/05/02 Python