express.static doesn't work in node.js project -
i have socket.io project doesn't let me use public folder. launch hello.js
http://i.stack.imgur.com/ugdzw.png
but see
http://i.stack.imgur.com/fzhjj.png
i tried , reinstalled node.js
var express = require('express'); var app = express(); var http = require("http"); var io = require('socket.io'); var url = require('url'); var fs = require('fs'); app.use(express.static(__dirname + '/public')); var server = http.createserver(function(request, response){ console.log('connection'); var path = url.parse(request.url).pathname; switch(path){ case '/': response.writehead(200, {'content-type': 'text/html'}); response.write('hello world'); response.end(); break; case '/socket.html': fs.readfile(__dirname + path, function(error, data){ if (error){ response.writehead(404); response.write("opps doesn't exist - 404"); } else{ response.writehead(200, {"content-type": "text/html"}); response.write(data, "utf8"); } response.end(); }); break; default: response.writehead(404); response.write("opps doesn't exist - 404"); response.end(); break; } }); server.listen(8001);
you're not using express app, instead bare http.server
. if want use express app (which static
middleware being used), should swap out custom callback http.createserver()
app
reads:
var server = http.createserver(app)
then socket.io integration express, you'll need follow this example.
Comments
Post a Comment