nodejs从哪里开始?

时间:2010-10-30 21:15:38

标签: node.js

我已经安装了nodejs并运行了几个简单的例子,例如在端口上打开服务器并监听该端口。

但是,我仍然无法将nodejs与Web开发联系起来。所以要学习和实现nodejs我正在考虑使用rails和nodejs来制作tic tac toe。这可能吗?

我正在设想一个多人游戏的tic-tac-toe游戏,如果第一个人选择某个东西,第二个人会自动在浏览器上看到它。

我应该从哪里开始?

我在rails中有经验但在nodejs或nodejs + rails中没有经验。

4 个答案:

答案 0 :(得分:6)

首先尝试实现基本应用程序并了解框架。有几个在线教程,例如:

http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js/

http://nodejs.org/

上的文档

http://howtonode.org/

此外,通过peepcode进行70分钟的截屏视频,费用为9美元

https://peepcode.com/products/nodejs-i

github上还有几个应用程序,你可以看一下。阅读代码总是最好的。

答案 1 :(得分:2)

我建议查看项目Socket.IO和Socket.IO-node。它使用HTML5 WebSockets(如果可用),并根据需要自动和优雅地(无需干预)闪存到Flash套接字和XHR轮询

这是一个下载文件的脚本:

mkdir socket.io
cd socket.io
git clone https://github.com/LearnBoost/Socket.IO.git --recursive
git clone https://github.com/LearnBoost/Socket.IO-node.git --recursive

这是server.js文件:

var http=require('http');
var url=require('url');
var fs=require('fs');
var sys=require('sys');
var io=require('./socket.io/Socket.IO-node');   //adjust path as necessary...

var server=http.createServer(function(req,res){
    res.writeHead(200,{'Content-Type':'text/html'});
    res.write('Hello world');
    res.end();
});
server.listen(8000);

var socket=io.listen(server);

socket.on('connection', function(client){
  onConnection(client);
  client.on('message', function(){
    onMessage();
  })
  client.on('disconnect', function(){
    onDisconnect();
  })
});
function onConnection(client){
  console.log('connection');
  //client.connected;   //tests if connected
  //client.send("message");
  //client.broadcast("message");   //send to all other conns
}
function onMessage(){
  console.log('message');
}
function onDisconnect(){
  console.log('disconnect');
}

});

使用sudo node server.js

运行上述服务器

这是你的index.html在浏览器中运行:

<script src="./socket.io/Socket.IO/socket.io.js" type="text/javascript" charset="utf-8"></script>   <!--Adjust path as necessary-->
<script>
var host="localhost";
var port=8000;

var socket=new io.Socket(host,{'port':port});

socket.connect();
socket.on('connect',function(){onConnect();}) 
socket.on('message',function(data){onMessage(data);}) 
socket.on('disconnect',function(){onDisconnect();});

function onConnect(){
  ///alert('connect');
}
function onMessage(data){
  //alert('message');
}
function onDisconnect(){
  //alert('disconnect');
  socket.connect();
}

</script>

答案 2 :(得分:1)

我发现The Node Beginner Book很有帮助。但是,对于你想做的事情来说,这可能太基础了。

答案 3 :(得分:1)

我发现hexes示例对于使用nodejs的实时游戏有用。

https://github.com/joyent/node-camp/tree/master/hexes