节点服务器未加载CSS文件

时间:2015-07-16 06:57:04

标签: javascript html css server

我正在使用节点服务器创建聊天应用程序,但是当我启动节点服务器并将我的浏览器指向localhost:3000时,它会加载HTML文档,但不会加载HTML文档时应该加载的CSS文件负载。如何加载CSS文件以便HTML文档使用它?

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>

JavaScript文档代码

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);
});

1 个答案:

答案 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中路由的详情。事实上,整个系列的教程可能很有用。