无法获取/表达错误

时间:2015-12-21 18:08:24

标签: node.js express

我正在学习Mean.js堆栈,并尝试构建一个应用程序。我已经安装了Express,它可以工作。当我尝试配置我的静态文件(html,js,images等)时,事情就破了。

以下是我的文件:

server.js

var express = require('express');
var app = express();
app.use(express.static(__dirname + "public"));

app.listen(3000);
console.log('Server running on port 3000');

我的html文件非常简单:

<!DOCTYPE>
<html>
<head>
    <title>Contact List App</title>
</head>
<body>
    <h1>Contact List App</h1>
</body>
</html>

所以当我启动服务器时:node server.js,然后我在浏览器中输入http://localhost:3000/,我得到了#34;无法获取&#34;错误。

问题出在哪里?

enter image description here

2 个答案:

答案 0 :(得分:0)

__dirname没有尾部斜杠,所以在构建静态根时需要自己提供一个斜杠:

app.use(express.static(__dirname + "/public"));
                                    ^ this needs to be there

答案 1 :(得分:0)

您需要确保路线存在。此外,使用路径连接字符串是一种更好的做法。另外,请确保目录public存在且文件index.html位于该文件夹中。

var path = require('path');
var express = require('express');
var app = express();
app.use(express.static(path.join(__dirname, 'public')));

app.get('/', function(req, res){
    res.render('index.html');
});

app.listen(3000);
console.log('Server running on port 3000');