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