溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nodejs構(gòu)建本地web測試服務(wù)怎么解決訪問靜態(tài)資源問題

發(fā)布時間:2021-02-26 13:12:34 來源:億速云 閱讀:247 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了nodejs構(gòu)建本地web測試服務(wù)怎么解決訪問靜態(tài)資源問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、構(gòu)建靜態(tài)服務(wù)器

1、使用express模塊

建立個js文件,命名server,內(nèi)容代碼如下:

var express = require('express');
var app = express();
var path = require('path');

//指定靜態(tài)資源訪問目錄
app.use(express.static(require('path').join(__dirname, 'public')));
// app.use(express.static(require('path').join(__dirname, 'views'))); 如果有文件夾存放資源,出現(xiàn)報錯的話,那就多use幾次就可以了
// 設(shè)定views變量,意為視圖存放的目錄
app.set('views', (__dirname + "/public"));
// app.set('views', __dirname);
// 修改模板文件的后綴名為html
app.set( 'view engine', 'html' );
// 運(yùn)行ejs模塊
app.engine( '.html', require( 'ejs' ).__express );

app.get("/", function(req, res) {
  res.render('index');
});

var server = app.listen(1336, "127.0.0.1",function(){
  var host = server.address().address;
  var port = server.address().port;
  console.log("Server running at http://%s:%s", host, port)
});

文件結(jié)構(gòu)如下:

nodejs構(gòu)建本地web測試服務(wù)怎么解決訪問靜態(tài)資源問題

運(yùn)行的話只要執(zhí)行:node server.js 就可以了

然后在瀏覽器輸入http://127.0.0.1:1336/ 來訪問項目文件夾內(nèi)的文件了

2、使用connect模塊

建立個js文件,命名 server2 ,內(nèi)容代碼如下:

 var connect = require("connect");
 var serveStatic = require("serve-static");

 var app = connect();
 // app.use(serveStatic("C:\\xxx\\xxx\\xxx\\項目文件夾"));
 app.use(serveStatic("public"));

 app.listen(1337);
 console.log('Server running at http://127.0.0.1:1337/');

運(yùn)行的話只要執(zhí)行:node server2.js 就可以了,

然后在瀏覽器輸入http://127.0.0.1:1337/ 來訪問項目文件夾內(nèi)的文件了。(如果是index.html文件可以省略不寫,默認(rèn)加載的就是這個文件);

3、使用http模塊

建立個js文件,命名 server3 ,內(nèi)容代碼如下:

var finalhandler = require('finalhandler')
var http = require('http')
var serveStatic = require('serve-static')

// Serve up public/ftp folder
var serve = serveStatic('public', {'index': ['index.html', 'index.htm']})

// Create server
var server = http.createServer(function onRequest (req, res) {
  serve(req, res, finalhandler(req, res))
})

// Listen
server.listen(1338);
console.log('Server running at http://127.0.0.1:1338/');

運(yùn)行的話只要執(zhí)行:node server3.js 就可以了,

然后在瀏覽器輸入http://127.0.0.1:1338/ 來訪問項目文件夾內(nèi)的文件了。

注:總的文件目錄如下:

nodejs構(gòu)建本地web測試服務(wù)怎么解決訪問靜態(tài)資源問題

源碼下載地址:https://github.com/arvin0/nodejs-example/tree/master/web-static-test-server

二、解決訪問靜態(tài)資源

主要使用兩個模塊

1.通用的 serve-static 模塊

詳細(xì)文檔:https://github.com/expressjs/serve-static

2.express專屬的  app.use(express.static(require('path').join(__dirname, 'public')));  方法

詳細(xì)文檔:http://expressjs.com/en/4x/api.html ,然后ctrl+F搜索 express.static ,就能找到對應(yīng)的說明了。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“nodejs構(gòu)建本地web測試服務(wù)怎么解決訪問靜態(tài)資源問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI