下载最新版本的node大家可以直接到官网http://nodejs.cn/download/进行下载。
我们可以通过path命令检查是否配置了node,js的环境变量,node -v可以查看当前版本。一切显示正常就代表安装成功了。
node.js的组成
第一是需要使用required将node.js模块引入
第二是创建服务器,类似与apache、nginx用于监听客户端的请求
第三是用于接受和响应HTTP请求。
第一个应用
require用于载入http模块,createServer函数用于创建服务器,并用listen绑定端口8888。
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/');
cmd窗口下运行
表示服务启动,网址输入http://127.0.0.1:8888/查看运行结果。
npm
npm是一款node的包管理工具,个人觉得类似python的pip。分为全局安装与本地安装,本地安装指安装在你当前的工作目录下node_modules中(不存在则新建),全局安装则是安装在node的安装目录下。还有一个区别在于输入命令时在末尾加 -g,代表global全局的意思。
安装好后,需要使用的时候使用require("express")方式即可。
node的交互式解释器(REPL)
说实在的类似windows的终端或linux的shell,使用它可以很好地调试javaScript的代码。
回调函数
Node.js的异步编程就是体现在回调函数上。回调函数在执行完任务以后会被调用。 例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。
阻塞代码main.js:
var fs = require("fs");
var data = fs.readFileSync('first.txt');
console.log(data.toString());
console.log("程序执行结束!");
非阻塞代码main2.js:
var fs = require("fs");
fs.readFile('first.txt',function (err,data) {
if(err){
return console.log(err);
}
console.log(data.toString());
})
console.log("程序执行结束!");
运行结果: