0

サーバーを起動してlocalhost:4000に移動すると、サーバーはindex.htmlを提供します。ただし、index.htmlはそのstyle.cssをロードせず、サーバーに接続しません。しかし、ローカルのindex.htmlドキュメントをダブルクリックすると、サーバーに接続されます。私の応答の何が問題になっていますか?

var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')

app.listen(4000);


function handler (req, res) {
    fs.readFile(__dirname + '/public/index.html',
 function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end('Error loading index.html');
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.sockets.on('connection', function (socket) {...}

index.html

<!DOCTYPE HTML>
<html>
  <head>

    <link rel="stylesheet",type="text/css" href="styles.css"/>
    <script type="text/javascript" src="node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js">></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

  </head>
  <body>

<script>
var socket = io.connect('http://localhost:4000');

socket.on('connect', function(){...}
4

2 に答える 2

0

このようにsocket.io.jsを参照してみましたか?

<script src="/socket.io/socket.io.js"></script>

于 2013-03-26T17:35:00.500 に答える
0

ハンドラー関数では、ユーザーにindex.htmlを提供することで、すべてのリクエストに応答しているように見えます。これが、CSSスタイルシートとJavascriptファイルが返されない理由です。

于 2013-03-26T18:45:19.657 に答える