検索

ホームページ  >  に質問  >  本文

node.js - node项目找不到文件,index.js输出index.html

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
    res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
    console.log('a user connected');
});

http.listen(80, function() {
    console.log('listening on *:80');
});

这是index.js源码,
然后访问localhost


jquery找不到,socket.io.js倒是找到了。。。。
这是index.html引入部分

PHP中文网PHP中文网2780日前500

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:53:25

    ご質問は理解しましたが、2 つの質問があります

    <オル>
  • なぜ /socket.io/socket.io.js が見つかるのでしょうか? これは、Socket.io サービスが http サービスをリッスンしているためです。 、ルート http://localhost:<port>/socket.io/socket.io.js が自動的に提供されます (実際にはすべての /socket.io リクエストをインターセプトします)から始まり、リクエストされた socket.io.jssocket.io-client/socket.io.js に解析されるため、フロントエンドによって取得された js を確認できます。 , 実際には、これは socket.io モジュールではなく、socket.io-client モジュール内のファイルです)。外部の静的ファイル ディレクトリにコピーしたり、このサービスを手動で提供したりする必要はありません。

  • 独自の /js/jquery-2.0.3.min.js が見つからないのはなぜですか? この静的ファイル サービスではモジュールが提供されないため、自分で行う 手動で提供し、上記の index.js コードをわずかに変更すると、結果は次のようになります。

  • //変更して、Express を提案します
    var Express = require('express')
    var app = Express();
    var http = require('http').Server(app);
    var io = require('socket.io')(http);
    
    // `jquery-2.0.3.min.js` ファイルが見つかるように静的ファイル サービスを提供します
    app.use(express.static(__dirname));
    
    app.get('/', function(req, res){
        res.sendFile(__dirname + '/index.html');
    });
    
    io.on('接続', function(ソケット){
        console.log('ユーザーが接続しました');
    });
    
    // ポート 80 で直接リッスンしないことをお勧めします。ポート 8888 に変更します。
    http.listen(8888, function() {
        console.log('*:8888 でリッスンしています');
    });
    

    返事
    0
  • キャンセル返事