我正在使用节点服务器创建聊天应用程序,但是当我启动节点服务器并将我的浏览器指向localhost:3000时,它会加载HTML文档,但不会加载HTML文档时应该加载的CSS文件负载。如何加载CSS文件以便HTML文档使用它?
<html>
<head>
<title>Socket.IO Chat by Flow</title>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script src="chat.js"></script>
</head>
<link rel="stylesheet" type="text/css" href="css.css">
<body>
<table align="center" id="chat-box">
<td>
<ul id="messages"></ul>
<form action="">
<input type="text" placeholder="Press enter to send a message..." autocomplete="off" id="m">
</form>
</td>
</table>
</body>
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = 3000;
app.get('/', function(req, res){
res.sendFile(__dirname + '/chat.html');
});
io.on('connection', function(socket){
});
http.listen(port, function(){
console.log('Listening on port: ' + port);
});
答案 0 :(得分:1)
您还没有定义任何提供CSS文件的路线。您定义的唯一途径是
app.get('/', function(req, res){
res.sendFile(__dirname + '/chat.html');
});
...只会提供chat.html
。
要提供其他文件/资源,请定义其他路由,也许是为公共目录中的任何匹配文件提供服务的全能路由。
例如,this tutorial表示您可以通过以下方式提供目录public
中的任何静态文件:
app.use(express.static('public'));
有关the routing tutorial中路由的详情。事实上,整个系列的教程可能很有用。