详解利用 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 Math和Number对象
Jan 26 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
Mar 03 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
jQuery实现平滑滚动到指定锚点的方法
Mar 20 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
详解自动生成博客目录案例
Dec 09 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
Dec 25 jQuery
React从react-router路由上做登陆验证控制的方法
May 10 Javascript
JavaScript遍历数组的方法代码实例
Jan 14 Javascript
实现vuex原理的示例
Oct 21 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
PHPlet在Windows下的安装
2006/10/09 PHP
php cli 小技巧
2013/06/03 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
Vuejs中使用markdown服务器端渲染的示例
2017/11/22 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
深入理解python函数递归和生成器
2016/06/06 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
django创建简单的页面响应实例教程
2019/09/06 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
python3中确保枚举值代码分析
2020/12/02 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
学前班教师的自我鉴定
2013/12/05 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
水浒传读书笔记
2015/06/25 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
python flappy bird小游戏分步实现流程
2022/02/15 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL