前言
nodejs的设计思路是:通过将V8内嵌到操作系统的集成层,来让javascript享受到底层操作系统的异步接口,从而实现将其带到服务器端的目的
好处:程序员可以在服务端和客户端使用同样的编程语言。
本书目的:带着读者学习如何基于node.js为web应用构建服务端部分,同时带着大家学习如何组织服务端异步代码以及如何与服务器做交互。
node.js使得javascript能在服务端运行。
node.js快速高效的优点得益于一种叫做时间轮询(event loop)的技术,以及其构建于V8之上,V8是google为chrome Web浏览器设计的javascript解释器和虚拟机,它运行javascript非常快。
REPL
REPL(Read-Eval-Print Loop)允许你从操作系统的命令行输入javascript代码,按下回车键,就能执行。
要运行REPL,在终端输入node即可。可以试试运行一下javascript表达式,例如:Object.keys(global);
REPL能方便的验证node API和javascript API。
执行文件
像其他的脚本文件一样,可以通过node命令执行文件。
新建一个test.js,输入如下:
var http = require("http");
var serv = http.createServer(function(req,res){
res.writeHead(200,{'content-Type':'text/html'});
res.end('<marqueee>hello world!<marqueee>');
});
serv.listen(3000);
在终端执行:node test.js
在浏览器输入http://localhost:3000
上面的代码展示了如何使Node书写一个完整的HTTP服务,来托管一个简单的HTML文档。这是一个node.js的经典的例子,因为它证明了Node.js的强大,仅通过几行javascript代码就能创建出一个像Apache的web服务器。
NPM
NPM是node包管理器,可实现在项目中轻松的对模块进行管理。
npm的使用,举例如下:
在test.js文件中加入:
require('colors');
console.log("smashing node".rainbow);
在终端执行:npm install colors。安装colors模块。
在安装时发现:
what?没有package.json文件。那么就手动建一个了:
在终端执行:vim package.json,在文件中加入:
{
"name": "tlltest",
"version": "0.0.0"
}
再次在终端执行:npm install colors。结果如图:
安装成功,在终端执行:node test.js,结果如下:
package.json文件多了一对键值对:
并且你的项目中自动增加了文件如下:
咿呀,太晚了,今天就看到这吧。宝宝们,早点休息,别熬夜喽!
愿我们有能力不向生活缴械投降---Lin