我正在学习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;错误。
问题出在哪里?
答案 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');