Node.js简单使用

    node.js是一个JavaScript运行时建立在Chrome的V8 JavaScript引擎。Node.js采用事件驱动、非阻塞I/O模型,使其轻量化和高效。
    官网:https://nodejs.org/en/

1、下载安装

    官网下载:https://nodejs.org/en/download/stable/
    下载
    请选择对应版本下载。
    此处以win64版本msi安装文件为例,点击安装一步到底即可,不需要多余的操作。

2、 简单使用

    如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi。
    从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求根本不需 要 PHP 来处理。 不过对 Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅 在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。
    在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的:
    1、引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块。
    2、创建服务器:服务器可以监听客户端的请求,类似于 Apache 、Nginx 等 HTTP 服务器。
    3、接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
    下面我们就来创建一个简单的“hello word”应用,首先记事本新建一个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/');
    然后使用node命令运行这个程序,在命令行输入:
node server.js
    成功运行控制台会输出:
Server running at http://127.0.0.1:8889/
    此时程序已经在运行,我们可以通过浏览器访问http://127.0.0.1:8889测试:
    simple

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

    通过 Node.js 使用 Express.js 也可以用来创建服务端上的典型的网页应用。然而,虽然有可能,使用 Node.js 来进行请求+响应的形式来呈现 HTML 并不是最典型的用例。有人赞成也有人反对这一做法。这里有一些看法以供参考:
    优点: 如果你不需要进行 CPU密集型计算,你可以从头到尾甚至是数据库(比如 MongoDB)都使用 Javascript 来开发。这显著地减轻了开发工序(包括成本)。 对于一个使用 Node.js 作为服务端的单页应用或者 websocket 应用,爬虫可以收到一个完全 HTML 呈现的响应,这是更为SEO友好的。
    缺点: 任何CPU密集型的计算都将阻碍 Node.js 的反应,所以使用多线程的平台是一个更好的方法。或者,您也可以尝试向外扩展的计算[*]。 Node.js 使用关系型数据库依旧十分痛苦。