Node入门(一)

本文将介绍Node与JavaScript之间的关系,第一个入门Node小程序以及基于Node构建第一个HTTP应用,对Node有一个基本的认识。

Node与JavaScript

JavaScript最早运行在浏览器中,浏览器只是提供了一种上下文,它定义了使用JavaScript可以做什么,但并没有说太多关于JavaScript语言本身可以做什么。事实上,JavaScript是一门完整的语言,它可以使用在不同的上下文中。

Node就是另外一种上下文,它允许在后端(脱离浏览器环境)运行JavaScript。要在后端运行JavaScript代码,代码需要先解释然后执行,Node基于Google的V8引擎来解释和执行JavaScript代码,V8引擎执行JavaScript速度非常快,性能非常好。

Node有许多各种各样的库,可以很方便的使用。

故,Node既是一个上下文(运行时环境),又是一个库。

第一个程序Hello Node

  • 脚本模式

创建01.js文件,文件内包含如下:

1
console.log("hello node!");

打开终端执行:

1
$ node 01.js

运行结果如下:

  • 交互模式

打开终端,输入node进入命令行模式,输入代码后执行并显示结果,如下:

1
2
3
$ node
> console.log("hello node!");
hello node

基于Node的Web应用

对于Node,不仅仅在实现一个应用,同时还需要实现整个HTTP服务器。

使用Node创建第一个应用

Node应用包括以下部分:

  1. 引入require模块:使用require指令来载入Node模块
  2. 创建服务器:服务器可以监听客户端请求
  3. 接收请求和响应请求:客户端可以使用浏览器或终端发送HTTP请求,服务器接收请求后返回响应结果

具体如下:

  1. 引入require模块:使用require指令载入Node自带的http模块,将实例化的结果赋值给变量http
1
var http = require("http");
  1. 创建服务器:使用http模块提供的函数createServer()方法创建服务器,这个函数返回一个对象,这个对象有一个listen()方法,这个方法有一个数值参数,指定这个http服务器监听的端口号,本例子监听端口号是8888
  2. 接收请求和响应请求:使用request和response参数来接收和响应请求。

完整代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 Node!');
}).listen(8888);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

运行结果如下:

参考链接