2016-09-21 69 views
1

我目前正在使用node.js,express和underscoreJS web應用程序。Nodejs與快遞,靜態dirname

我試圖理解上的差異是否我用這個與否:

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

的應用似乎是更快,但我不知道我完全理解這是什麼意思。 如果我想在我的計算機上使用它進行測試,那麼在我嘗試使用本地應用程序localhost:xxxx(xxxx作爲端口)時,它不起作用,如果我想在測試中使用它,則最終出現enoent錯誤,但它在服務器上工作正常,爲什麼?

對不起,如果這個問題看起來很愚蠢,我只是被分配到這個項目,並且在我到達之前已經完成了大量工作。

+0

它完成它所說的服務靜態文件。如果您需要服務器js/css/images,請使用它。 –

+0

那爲什麼它更快? – kazu

回答

1

這條線:

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

是在快遞服務的靜態文件。

我最近在GitHub上寫了an example of serving static files。 的main application code是:

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

var htmlPath = path.join(__dirname, 'html'); 

app.use(express.static(htmlPath)); 

var server = app.listen(3000, function() { 
    var host = 'localhost'; 
    var port = server.address().port; 
    console.log('listening on http://'+host+':'+port+'/'); 
}); 

app.use(express.static(htmlPath));行不會使它更快爲靜態文件 - 它使得可能

+0

你的例子有很多幫助,謝謝。我想我現在已經明白了,也是爲了這個嚴重的錯誤。 – kazu