欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于訪問node?express中的static靜態(tài)文件方法

 更新時(shí)間:2022年09月06日 09:56:11   作者:Tangctt  
這篇文章主要介紹了關(guān)于訪問node?express中的static靜態(tài)文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

訪問node express中的static靜態(tài)文件

應(yīng)用場(chǎng)合

  • 在項(xiàng)目中需要使用到node express框架進(jìn)行中間件開發(fā)、
  • 使用express托管靜態(tài)文件或開放其它靜態(tài)文件

解決方法

通過express內(nèi)置的express.static方法可以方便地托管靜態(tài)文件,例如圖片、CSS、JavaScript文件等

將靜態(tài)資源文件所在目錄作為參數(shù)傳遞給express.static中間件就可以提供靜態(tài)資源文件的訪問

示例

1. express框架下運(yùn)行以下代碼

#注意格式
app.use('/public',express.static('public'));//將文件設(shè)置成靜態(tài)
#若需要開發(fā)其它靜態(tài)文件,則不需要'/public'路徑
app.use(express.static('Simulation_Result'))

2. 在項(xiàng)目中訪問靜態(tài)文件地址即可

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

注意:靜態(tài)文件的路徑為express中間件設(shè)置,端口號(hào)必須為后端端口號(hào)。若訪問了錯(cuò)誤的路徑或者端口號(hào),則頁面為空白

Express訪問靜態(tài)資源(express.static)

在開發(fā)全棧的時(shí)候,html頁面需要顯示一些圖片,視頻之類的資源。這些資源被稱為“靜態(tài)資源”,即對(duì)每一個(gè)用戶來講都是相同的資源。寫這篇博文通過對(duì)比前后端調(diào)用靜態(tài)資源的方式來記錄express框架下靜態(tài)資源的訪問方法。

前端調(diào)用靜態(tài)資源

初入前端的同志應(yīng)該知道,前端里調(diào)用靜態(tài)資源只是用來測(cè)試程序的“緩兵之計(jì)”,因?yàn)榫W(wǎng)頁的資源一定是來自后端服務(wù)器的。在還沒有對(duì)接服務(wù)器的情況下,以播放視頻為例,前端是如何實(shí)現(xiàn)的呢。

既然只有前端那視頻只能是在本地的資源。視頻和html文件應(yīng)在同一目錄中:

在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標(biāo)簽內(nèi)部的src="1.mp4"決定的,因?yàn)閔tml文件和視頻文件在同一目錄下,因此地址直接寫文件名稱即可。

Express訪問靜態(tài)資源

當(dāng)前端要顯示后端的靜態(tài)資源時(shí),就變得比較講究了。首先,node.js中需要將靜態(tài)文件放在一個(gè)靜態(tài)目錄中。

靜態(tài)目錄的做法:

1.在工程中新建一個(gè)文件夾,命名為public。

2.將靜態(tài)資源全部放在public文件夾中,本次將1.mp4放入:

3.在app.js中設(shè)置靜態(tài)路徑,首先導(dǎo)入path模塊:

const path = require('path');

4.設(shè)置靜態(tài)路徑。__dirname是當(dāng)前文件所在絕對(duì)目錄的意思。

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

JS代碼實(shí)現(xiàn):

JS中的代碼比較休閑,只需要傳送html頁面和設(shè)置靜態(tài)路徑就好了。

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;
  //  服務(wù)器IP地址為127.0.0.1 端口為8888
   console.log( "server is running"+host+port);
 });

HTML5代碼實(shí)現(xiàn):

html5代碼需要稍微修改一下路徑。將原先的1.mp4修改為static/1.mp4。項(xiàng)目的根目錄是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>

代碼跑起來,完工:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js多個(gè)異步過程中判斷執(zhí)行是否完成的解決方案

    node.js多個(gè)異步過程中判斷執(zhí)行是否完成的解決方案

    這篇文章主要給大家介紹了關(guān)于node.js多個(gè)異步過程中判斷執(zhí)行是否完成的幾種解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • node.js操作mysql(增刪改查)

    node.js操作mysql(增刪改查)

    本文給大家分享的是使用node.js實(shí)現(xiàn)對(duì)mysql數(shù)據(jù)庫的增刪改查操作,有需要的小伙伴可以參考下,希望對(duì)大家學(xué)習(xí)node有所幫助。
    2015-07-07
  • Node如何實(shí)現(xiàn)在瀏覽器預(yù)覽項(xiàng)目的所有圖片詳解

    Node如何實(shí)現(xiàn)在瀏覽器預(yù)覽項(xiàng)目的所有圖片詳解

    最近項(xiàng)目遇到了個(gè)需求,需要將存放圖片進(jìn)行預(yù)覽,所以這篇文章主要給大家介紹了關(guān)于Node如何實(shí)現(xiàn)在瀏覽器預(yù)覽項(xiàng)目的所有圖片的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Egret引擎開發(fā)指南之發(fā)布項(xiàng)目

    Egret引擎開發(fā)指南之發(fā)布項(xiàng)目

    當(dāng)我們制作完成一個(gè)項(xiàng)目后,我們需要把項(xiàng)目發(fā)布為正式版本,并放到網(wǎng)上提供給玩家。那么在egret中簡(jiǎn)單的使用build命令并非打包最終的正式版文件。你還需要進(jìn)行最終的發(fā)布操作。
    2014-09-09
  • node.js express框架實(shí)現(xiàn)文件上傳與下載功能實(shí)例詳解

    node.js express框架實(shí)現(xiàn)文件上傳與下載功能實(shí)例詳解

    這篇文章主要介紹了node.js express框架實(shí)現(xiàn)文件上傳與下載功能,結(jié)合具體實(shí)例形式詳細(xì)分析了node.js express框架針對(duì)文件上傳與下載的前后臺(tái)相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-10-10
  • Nodejs中使用captchapng模塊生成圖片驗(yàn)證碼

    Nodejs中使用captchapng模塊生成圖片驗(yàn)證碼

    本篇文章主要介紹了Nodejs中使用captchapng模塊實(shí)現(xiàn)圖片驗(yàn)證碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-05-05
  • Node.js中的進(jìn)程間通信

    Node.js中的進(jìn)程間通信

    這篇文章主要介紹了Node.js中的進(jìn)程間通信,文章圍繞主題展開詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-09-09
  • 利用pm2部署多個(gè)node.js項(xiàng)目的配置教程

    利用pm2部署多個(gè)node.js項(xiàng)目的配置教程

    目前似乎最常見的線上部署nodejs項(xiàng)目的有forever,pm2這兩種,而下面這篇文章主要給大家介紹了關(guān)于利用pm2部署多個(gè)node.js項(xiàng)目的配置教程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • NodeJS提供了的文件操作相關(guān)的API

    NodeJS提供了的文件操作相關(guān)的API

    讓前端覺得如獲神器的不是NodeJS能做網(wǎng)絡(luò)編程,而是NodeJS能夠操作文件,小至文件查找,大至代碼編譯,幾乎沒有一個(gè)前端工具不操作文件,換個(gè)角度講,幾乎也只需要一些數(shù)據(jù)處理邏輯,再加上一些文件操作,就能夠編寫出大多數(shù)前端工具
    2023-11-11
  • 從零學(xué)習(xí)node.js之詳解異步控制工具async(八)

    從零學(xué)習(xí)node.js之詳解異步控制工具async(八)

    sync是一個(gè)流程控制工具包,提供了直接而強(qiáng)大的異步功能。基于JavaScript為Node.js設(shè)計(jì),同時(shí)也可以直接在瀏覽器中使用。下面這篇文章主要介紹了node.js之異步控制工具async的相關(guān)資料,需要的朋友可以參考下。
    2017-02-02

最新評(píng)論