详解利用 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 相关文章推荐
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
jQuery使用经验小技巧(推荐)
May 31 Javascript
jQuery简单动画变换效果实例分析
Jul 04 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
Jul 14 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
js中getBoundingClientRect的作用及兼容方案详解
Feb 01 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
vue项目设置scrollTop不起作用(总结)
Dec 21 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 Javascript
webpack中如何加载静态文件的方法步骤
May 18 Javascript
浅谈JavaScript中this的指向问题
Jul 28 Javascript
使用JavaScript实现贪吃蛇游戏
Sep 29 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操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHP在linux上执行外部命令的方法
2017/02/06 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
javascript 数组的方法集合
2008/06/05 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
Python单元和文档测试实例详解
2019/04/11 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
HR求职自荐信范文
2014/06/21 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
担保书范文
2019/07/09 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
Python学习之时间包使用教程详解
2022/03/21 Python