node.js入门(一)

NodeJS是一个使用了Google高性能V8引擎的服务器端JavaScript实现。它提供了一个(几乎)完全非阻塞I/O栈,与JavaScript提供的闭包和匿名函数相结合,使之成为编写高吞吐 量网络服务程序的优秀平台,通过Node.js,我们可以用JavaScript编写Server端应用。
Node.js采用C++语言编写而成,是一个后端Javascript的运行环境,这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,简单的命令类似于:
#node helloworld.js

Node.js采用事件驱动、异步编程,为网络服务而设计

特点:
* 单线程事件模型,简单高效
* 基于活跃的高性能V8引擎
* 社区活跃,组件丰富
 
var http = require("http");
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('hello world\n');
}).listen(1337,'127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
 

上面的代码搭建了一个简单的http服务器,在本地监听1337端口,对于任意的http请求,服务器都返回一个头部状态码为200、Content-Type'值为text/plain'的”Hello World“文字响应。node.js本来就是一个http服务器,它是要与前端交互的,因此少不了两个对象:请求(request)与响应(response),即本例子中的req和res,请求与响应显然一种异步的东西,因为我们不知道前端什么时候发请求过来,响应也不能立即给前端,还要做日志,读写数据库等操作呢。因此对于javascript来说,这用回调函数来实现最好,那么由谁来接受这个回调呢?一个服务器对象!从这个小例子中,我们可以看出几点:

  • Node.js的网络编程比较便利,提供的模块(在这里是http)开放了容易上手的API接口,短短几行代码就可以构建服务器。
  • 体现了事件驱动、异步编程,在createServer函数的参数中指定了一个回调函数(采用Javascript的匿名函数实现),当有http请求发送过来时,Node.js就会调用该回调函数来处理请求并响应。当然,这个例子相对简单,没有太多的事件注册,在以后的文章中读者会看到更多的实际例子。

学习网站(四大神站):

一、nodejs.org看看nodejs的版本升级,新特性的加入,重要bug的修复等
二、www.npmjs.com模块社区,看他人源代码,省力
三、github.com大量的项目和源码
四、stackoverflow.com技术解答社区以及查询相关资源,环境配置,异常均可找到答案

 另外发现了一本书:

http://nodebeginner.org/index-zh-cn.html 也还不错,入门级别。

你可能感兴趣的:(node.js入门(一))