我已经创建了一个Socket.IO应用程序,我甚至已经有了一些交互工作。但我仍然在Apache HTTP服务器(localhost,XAMPP bundle)上托管静态内容。实际上在运行Node.js时,这是我的工作目录:
C:\xampp\htdocs\game>node nodeGame.js
我想将其全部移动到其他地方,可能会将其转换为npm包,并使用Node.js向用户提供HTML和JavaScript文件。如果我可以安装一些可以传递给http
的简单处理程序,那将是最好的。类似的东西:
var http = Http.Server(require("really-simple-http-server"));
var io = SocketIo(http);
// Sockets below
我在StackOverflow上找到的所有服务器都不是那么简单,所以最适合这个目的以及如何使用它?
答案 0 :(得分:1)
您可以将socket.io与Express框架一起使用(使用Express作为您的Web服务器),然后使用d3.csv
来提供静态文件:
queue(1)
.defer(d3.csv, "path_to.csv")
.defer(d3.json, "path_to.json")
.await(ready);
function ready(error, csvData, jsonData) {
if(error) return console.log("error: " + error.responseText);
csvData.forEach(function(d) {origins.push(d.o_geoid)})
// Limit GeoJSON features to those in CSV
for(var i = jsonData.features.length - 1; !error && i >= 0; i--) {
if($.inArray(jsonData.features[i].properties['GEOID10'], origins) != -1) {
geoJSON.features.push(jsonData.features[i]);
}
}
}
使用Express提供静态文件的选项的详细信息为here。