在Express中提供静态文件的实现方法


Posted in Javascript onOctober 17, 2019

为了提供诸如图像、CSS 文件和 JavaScript 文件之类的静态文件,请使用 Express 中的 express.static 内置中间件函数。

将包含静态资源的目录的名称传递给 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

Express 相对于静态目录查找文件,因此静态目录的名称不是此 URL 的一部分。

要使用多个静态资源目录,请多次调用 express.static 中间件函数:

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

Express 以您使用 express.static 中间件函数设置静态目录的顺序来查找文件。

要为 express.static 函数提供的文件创建虚拟路径前缀(路径并不实际存在于文件系统中),请为静态目录指定安装路径,如下所示:

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

然而,向 express.static 函数提供的路径相对于您在其中启动 node 进程的目录。如果从另一个目录运行 Express 应用程序,那么对于提供资源的目录使用绝对路径会更安全:

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

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

Javascript 相关文章推荐
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
浅析Cookie中的Path与domain
Dec 18 Javascript
二叉树先序遍历的非递归算法具体实现
Jan 09 Javascript
jQuery简单实现验证邮箱格式
Jul 15 Javascript
js 上传文件预览的简单实例
Aug 16 Javascript
js初始化验证实例详解
Nov 26 Javascript
浅谈js函数三种定义方式 & 四种调用方式 & 调用顺序
Feb 19 Javascript
深入理解Webpack 中路径的配置
Jun 17 Javascript
vue项目中使用Svg的方法
Oct 24 Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
微信小程序一周时间表功能实现
Oct 17 #Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
Oct 17 #Javascript
JS工厂模式开发实践案例分析
Oct 17 #Javascript
小程序input数据双向绑定实现方法
Oct 17 #Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 #Javascript
JS设置自定义快捷键并实现图片上下左右移动
Oct 17 #Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 #Javascript
You might like
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
javascript第一课
2007/02/27 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
vue解决跨域问题(推荐)
2020/11/10 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
django rest framework之请求与响应(详解)
2017/11/06 Python
python取代netcat过程分析
2018/02/10 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
python3 配置logging日志类的操作
2020/04/08 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
法国春天百货官网:Printemps.com
2020/06/29 全球购物
性能测试工程师的面试题
2015/02/20 面试题
大学生在校学习的自我评价
2014/02/18 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
分公司负责人任命书
2014/06/04 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers