我在使用带有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);
答案 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
最初我发现这令人困惑,因为我原本期望快递服务器列出目录;当看到"某事" ...一个页面说"无法得到/"我假设该页面通常有一个文件列表。