Nodejs与快递,静态dirname
问题描述:
我目前正在使用node.js,express和underscoreJS web应用程序。Nodejs与快递,静态dirname
我试图理解上的差异是否我用这个与否:
app.use(express.static(__dirname + '/public'));
的应用似乎是更快,但我不知道我完全理解这是什么意思。 如果我想在我的计算机上使用它进行测试,那么在我尝试使用本地应用程序localhost:xxxx(xxxx作为端口)时,它不起作用,如果我想在测试中使用它,则最终出现enoent错误,但它在服务器上工作正常,为什么?
对不起,如果这个问题看起来很愚蠢,我只是被分配到这个项目,并且在我到达之前已经完成了大量工作。
答
这条线:
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
它完成它所说的服务静态文件。如果您需要服务器js/css/images,请使用它。 –
那为什么它更快? – kazu