不能GET / Express错误
我正在学习Mean.js
堆栈,并尝试构build一个应用程序。 我已经安装了快车,它的工作原理。 当我试图configuration我的静态文件(html,js,图像等)时,事情就破裂了。
这是我的文件:
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
,然后在浏览器中inputhttp://localhost:3000/
时,出现“Can not Get”错误。
哪里有问题?
__dirname
没有结尾的斜杠,所以在构build静态根时需要自己提供一个:
app.use(express.static(__dirname + "/public")); ^ this needs to be there
您需要确保路线存在。 另外,使用path来连接string是一个更好的做法。 另外,请确保目录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');