Node.js入门

Posted by Taolee on April 24, 2016

什么是Node.js

简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

Node.js的特点

特点是完全的事件驱动的,异步执行,所以速度快,性能好。支持高并发。 使用Java Script开发,对于想开发后端的前端程序员来讲是一个不错的选择。

Hello World

安装完Node.js之后,在命令行敲入:node

>console.log("Hello World");

可以看到命令行的输出。

MiniHttp Server with Node.js

以下的代码创建了一个最小的 http 应用程序。保存该代码到 server.js

var http = require('http');
var onRequest = function(request, response){
    response.statusCode = 200;
    response.setHeader('Content-Type', 'text/plain');
    response.end('Hello World\n');
    };
http.createServer(onRequest).listen(8899);
console.log('Started server in 8899');

在shell中运行 node server.js 观察控制台的输出和,并打开浏览器,输入地址localhost:8899观察响应。

上面的代码做了什么?

  1. var http = require(‘http’); 导入node自带的模块http,并将导入的模块存储到var http变量中。
  2. var onRequest = function(….)…. 定义了函数,并将此函数赋值给对象 onRequest
  3. http.createServer(onRequest).listen(8899) 首先调用 http模块的createServer()函数,该函数接受一个 函数对象 function(request, response), 此函数应该负责读取request,并向response对象中写入响应 createServer 返回一个httpServer对象。此处没有直接调用了该匿名对象的listen()方法,告诉该server监听8899 端口。
  4. console.log() 打印log信息到控制台。

模块化-带有route的HTTP应用

server.js文件

const url = require('url');
const http = require('http');

function start(route){
    function onRequest(request, response){
        var pathname = url.parse(request.url).pathname;
        console.log("Request for " + pathname + " received.");
        route(pathname);
        response.writeHead(200, {"Content-Type": "text/plain"});
        response.write("Hello World");
        response.end();
    }
    http.createServer(onRequest).listen(9899);
    console.log("Http server has started in 9899");
}
exports.start=start;

router.js

exports.route=function(pathname){
console.log("About ro route for request for" + pathname);
}

index.js

var server = require('./server');
var router = require('./router');
server.start(router.route);

运行– see what you get

node index.js 

常用的Node.js框架

  • express

参考网址:

菜鸟教程-node.js