如何使用Node Express提供静态文件?

时间:2015-02-25 21:17:11

标签: javascript node.js express static

我在使用带有Node.js的express设置一个非常基本的静态文件服务器时遇到了问题。我设置了一个简单的server.js但在我的网络浏览器中加载网址localhost:9000时看不到任何文件。

我看到的只是一个页面:Cannot get /

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

app.use(function(req, res, next) {
  next();
});

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

app.listen(9000);

3 个答案:

答案 0 :(得分:0)

只是你没有暴露任何东西。例如,你有一个index.html文件吗?试试这个:

app.get("/", function(req, res) {
    res.sendfile("index.html");
});

答案 1 :(得分:-1)

您是否通过了NodeSchool研讨会?他们有逐步的例子,涵盖了这个以及更多。

Here is the workshop for Express

以下是我对静态'的解决方案。问题在研讨会上。

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

app.use(express.static(process.argv[3]||path.join(__dirname, 'public')));
 app.use(require('stylus').middleware(__dirname + '/public'));

app.post('/form', function(req, res) {
   res.writeHead(200, { 'Content-Type': 'text/plain' })
   res.end()
})

app.listen(process.argv[2])

答案 2 :(得分:-1)

Express不会创建目录列表。即使它没有列出目录中的文件,它也会在网页浏览器中点击它们时为它们提供服务。

将浏览器指向实际文件:

http://localhost:9000/public/test.html

最初我发现这令人困惑,因为我原本期望快递服务器列出目录;当看到"某事" ...一个页面说"无法得到/"我假设该页面通常有一个文件列表。