近期紧锣密鼓的学习了下nodejs(之前在学php。算入门了吧,可是时间关系,还没写文章,兴许要搞安卓和大数据,总之比較忙哈,计划上php要排到后面了,还请广大小伙伴不要着急)
先抄一句:Node.js 是server端的 JavaScript 执行环境。它具有无堵塞(non-blocking)和事件驱动(event-driven)等的特色,Node.js 採用 V8 引擎,相同,Node.js 实现了类似 Apache 和 nginx 的web服务,让你能够通过它来搭建基于 JavaScript 的 Web App。
听起来是多么的高大上啊,那么得给点样例才干让观众养养眼。
先列一个php样例
$result = mysql_query('select * from testTable");
print_r($result);
看来上面的代码之后。我们不免有疑问,I/o操作而且在数据回来之前,这个进程一直是被阻塞状态,也许大家觉得这没什么。可是否想过
假设延迟10ms到几分钟的情况。将会发生:
1、硬盘正在运行维护操作。读/写都暂停了
2、负载添加。数据库查询变慢
这个时候大家是否想到异步程序呢
最简单的就是jquery中的ajax啦
$.post('/test.json',function(data){
console.log(data);
}}
而node和这个几乎相同
var fs = require('fs');
fs.readFile('./resource.json',function(err,data){
console.log(data);
})
至于怎么安装node之类的就不多说了
node能做的事太多了,大家比較关心的可能是web开发,也是眼下比較火的。
先上点干货,创建一个文件app.js 。内容例如以下,然后安装依赖----npm install http;
var http=require('http');
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('Hello World ');
}).listen(3000);
console.log('Server runing at http://localhost:3000/');
就能够看到helloworld了
于是乎就入门了。。
。
(兴许会继续公布系列文章,因为时间关系先写到这了)。