关于访问node express中的static静态文件方法

 更新时间:2022年09月06日 09:56:11   作者:Tangctt  
这篇文章主要介绍了关于访问node express中的static静态文件方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

访问node express中的static静态文件

应用场合

  • 在项目中需要使用到node express框架进行中间件开发、
  • 使用express托管静态文件或开放其它静态文件

解决方法

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

将静态资源文件所在目录作为参数传递给express.static中间件就可以提供静态资源文件的访问

示例

1. express框架下运行以下代码

#注意格式
app.use('/public',express.static('public'));//将文件设置成静态
#若需要开发其它静态文件,则不需要'/public'路径
app.use(express.static('Simulation_Result'))

2. 在项目中访问静态文件地址即可

     let _PicUrl = [
        "http://127.0.0.1:5678/S-1.png",
        "http://127.0.0.1:5678/S-2.png"
     ]

注意:静态文件的路径为express中间件设置,端口号必须为后端端口号。若访问了错误的路径或者端口号,则页面为空白

Express访问静态资源(express.static)

在开发全栈的时候,html页面需要显示一些图片,视频之类的资源。这些资源被称为“静态资源”,即对每一个用户来讲都是相同的资源。写这篇博文通过对比前后端调用静态资源的方式来记录express框架下静态资源的访问方法。

前端调用静态资源

初入前端的同志应该知道,前端里调用静态资源只是用来测试程序的“缓兵之计”,因为网页的资源一定是来自后端服务器的。在还没有对接服务器的情况下,以播放视频为例,前端是如何实现的呢。

既然只有前端那视频只能是在本地的资源。视频和html文件应在同一目录中:

在video,html文件中输入以下代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>video</title>
</head>
<body>
	<p>video:</p>
	<video id="video1" controls width="300px" autoplay>
		<source src="1.mp4" type="video/mp4">
	</video>
</body>
</html>

由html代码可知,视频的路径是由video标签内部的src="1.mp4"决定的,因为html文件和视频文件在同一目录下,因此地址直接写文件名称即可。

Express访问静态资源

当前端要显示后端的静态资源时,就变得比较讲究了。首先,node.js中需要将静态文件放在一个静态目录中。

静态目录的做法:

1.在工程中新建一个文件夹,命名为public。

2.将静态资源全部放在public文件夹中,本次将1.mp4放入:

3.在app.js中设置静态路径,首先导入path模块:

const path = require('path');

4.设置静态路径。__dirname是当前文件所在绝对目录的意思。

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

JS代码实现:

JS中的代码比较休闲,只需要传送html页面和设置静态路径就好了。

var express = require('express');
var app = express();
const path = require('path');
app.use('/static',express.static(path.join(__dirname,'public')));
app.get('/', function (req, res) {
   res.sendFile( __dirname + "/" + "video.html" );
});// 显示html页面
var server = app.listen(8080, function () {
   var host = server.address().address;
   var port = server.address().port;
  //  服务器IP地址为127.0.0.1 端口为8888
   console.log( "server is running"+host+port);
 });

HTML5代码实现:

html5代码需要稍微修改一下路径。将原先的1.mp4修改为static/1.mp4。项目的根目录是project,而视频在project里的子目录中,因此需要加文件目录符+虚拟路径“static”。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>video</title>
</head>
<body>
	<p>video:</p>
	<video id="video1" controls width="300px" autoplay>
		<source src="static/1.mp4" type="video/mp4">
	</video>
</body>
</html>

代码跑起来,完工:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • NodeJS中利用Promise来封装异步函数

    NodeJS中利用Promise来封装异步函数

    这篇文章主要介绍了NodeJS中利用Promise来封装异步函数,使用统一的链式API来摆脱多重回调的噩梦,非常的实用的小技能,希望小伙伴们能够喜欢
    2015-02-02
  • Node.js 实现远程桌面监控的方法步骤

    Node.js 实现远程桌面监控的方法步骤

    这篇文章主要介绍了Node.js 实现远程桌面监控的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • node中的cookie的具体使用

    node中的cookie的具体使用

    这篇文章主要介绍了node中的cookie的具体使用,详细的介绍了什么是cookie和cookie的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • webpack打包nodejs项目的方法

    webpack打包nodejs项目的方法

    这篇文章主要介绍了webpack打包nodejs项目,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • Node.js进程管理之子进程详解

    Node.js进程管理之子进程详解

    本文详细讲解了Node.js进程管理之子进程,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Node.js中利用js-xlsx处理xlsx文件的实现

    Node.js中利用js-xlsx处理xlsx文件的实现

    js-xlsx库是目前Github上star数量最多的处理Excel的库,本文介绍用 Node.js中的js-xls库来处理Excel文件,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • Node.js 文件夹目录结构创建实例代码

    Node.js 文件夹目录结构创建实例代码

    下面小编就为大家带来一篇Node.js 文件夹目录结构创建实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • node.js操作mongoDB数据库示例分享

    node.js操作mongoDB数据库示例分享

    这里给大家分享的是node.js操作mongoDB数据库的示例,包括连接数据库、插入数据、关闭数据库、读取数据、插入数据等方面,十分的全面,这里推荐给需要的小伙伴们。
    2014-11-11
  • nodejs与浏览器中全局对象区别点总结

    nodejs与浏览器中全局对象区别点总结

    在本篇文章里小编给大家整理的是一篇关于nodejs与浏览器中全局对象区别点总结内容,对此有需要的朋友们可以学习下。
    2021-12-12
  • 利用node.js搭建简单web服务器的方法教程

    利用node.js搭建简单web服务器的方法教程

    本文主题是使用node来搭建最简单的web服务器,其后可以自己根据需要深入了解,目前在开发过程中可以用来模拟与服务器进行简单的交互,比如返回的资源控制等。需要的朋友可以参考学习,下面来一起看看吧。
    2017-02-02

最新评论