express.static不';无法在node.js项目中工作
我有一个socket.io项目,但它不允许我使用公用文件夹。我想发布hello.js 但我只看到 我尝试了一切,只是重新安装了node.jsexpress.static不';无法在node.js项目中工作,node.js,Node.js,我有一个socket.io项目,但它不允许我使用公用文件夹。我想发布hello.js 但我只看到 我尝试了一切,只是重新安装了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(expr
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 this 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 this doesn't exist - 404");
response.end();
break;
}
});
server.listen(8001);
您使用的不是Express应用程序,而是裸机应用程序。如果要使用Express应用程序(即使用
静态
中间件的位置),应将http.createServer()
的自定义回调替换为app
,以便读取:
var server = http.createServer(app)
然后,对于Socket.IO与Express的集成,您需要遵循以下步骤