node js学习(一)

jopen 9年前

1、简介

JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全球的风暴就开始了。

Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型 而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。

Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

2、node.js优点

  • RESTful API
  • 单线程
  • Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
  • 非阻塞IO
  • V8虚拟机
  • 事件驱动

3、下载安装(Window 64位版本)

64位下载地址: http://pan.baidu.com/s/1geaR3OZ

安装步骤:

直接 双击node-v0.10.26-x86.msi文件默认安装即可。

配置环境变量:

默认情况下,安装后Path中会将我们刚刚安装的node所在的路径添加到Path中,所没有则需要手动将其添加到Path环境变量中。

查看是否安装成功:

在cmd 进入刚刚安装的路径 ,敲入如下的命令,查询其版本

node --version 

假如出现下面的界面则证明安装配置成功。

4、nodejs应用组成部分

  1. 引入 required 模块:我们可以使用  require 指令来载入 Node.js 模块。

  2. 创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。

  3. 接收请求与响应请求服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。

5、hello world程序

步骤一、引入 required 模块

我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:

var http = require("http");

步骤二、创建服务器

接下来我们使用 http.createServer() 方法创建服务器,并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。

实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:

var http = require('http');    http.createServer(function (request, response) {        // 发送 HTTP 头部       // HTTP 状态值: 200 : OK      // 内容类型: text/plain      response.writeHead(200, {'Content-Type': 'text/plain'});        // 发送响应数据 "Hello World"      response.end('Hello World\n');  }).listen(8888);    // 终端打印如下信息  console.log('Server running at http://127.0.0.1:8888/');

以上代码我们完成了一个可以工作的 HTTP 服务器。

使用 node 命令执行以上的代码:

node server.js

命令行输出如下信息,则说明服务器应用已经启动(上面打印的一句话)

Server running at http://127.0.0.1:8888/

在浏览器中访问http://127.0.0.1:8888/ ,你就会看到“Hello World”页面

分析Node.js 的 HTTP 服务器:

  • 第一行请求(require)Node.js 自带的 http 模块,并且把它赋值给 http 变量。
  • 接下来我们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。

致谢:感谢您的阅读!

</div>

来自: http://www.cnblogs.com/0201zcr/p/5096472.html