2016-03-19 2 views
0

Ich begann lernen, socket.io und this example of chat verwenden.Node.js socket.io Webserver bieten andere Datei als index.html

Wenn ich zu ip:8080/public/index.html gehe, brauche ich auch Zugriff auf andere Dateien, zum Beispiel andere JS-Skripte, die auf der Client-Seite im Browser verwendet werden. Aber wenn ich Skript Last so:

<script src="/js/phaser.js" type="text/javascript"></script> 

der Web-Server nicht zurück, und ich brauche es auf diesem Handler-Code.

Ich habe diesen Code:

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

app.listen(8080); 

function handler (req, res) { 
    console.log(req.headers.referer); 
    fs.readFile(__dirname + '/public/index.html', // <--- I need here put filename which client wants it, but when I console.log to req it return HUGE data, I not found anythink usefull 
    function (err, data) { 
    if (err) { 
     res.writeHead(500); 
     return res.end('Error loading index.html'); 
    } 

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

io.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    socket.broadcast.emit('new message', data); 
    console.log(data); 
    }); 
    socket.on('msg', function(data){ 
    console.log(data); 
    }) 
}); 
+0

Wahrscheinlich möchten Sie das Modul [Express-Server] (http://expressjs.com/) verwenden und dann 'express.static()' verwenden, um automatisch ein Verzeichnis statischer Dateien mit einer Codezeile bereitzustellen. node.js bedient standardmäßig keine Dateien, daher müssen Sie Code explizit hinzufügen, um auf Anforderungen zu reagieren, die er bedienen soll. Sie können dies mit speziellem Code für jede eingehende Anfrage tun, die Sie behandeln möchten, oder Sie können eine ganze Verzeichnishierarchie von Dateien mit einem Codeblock bereitstellen. – jfriend00

Antwort

0

Sie können Express static zu dienen statische Dateien verwenden wie Dateien Ihre * Js.

Verwandte Themen