美文网首页
阿宝的NodeJS私房菜(一)

阿宝的NodeJS私房菜(一)

作者: 量子乾坤 | 来源:发表于2017-05-05 11:54 被阅读0次

谨以此文献给阿宝,迈向成为全栈开发工程师的第一步!

Node概述

NodeJS是一个高效的非阻塞式服务器,也是一个后端编程框架,使得前端开发者只需要编写JavaScript代码即可完成后端的开发,极大地提高了开发效率。所谓非阻塞,NodeJS采用完全异步的方式来并发地处理来自客户端的请求,因为采用的是注册回调函数的方式,因此程序执行的时候是异步的,例如以下代码:

/*main.js, create by Abei*/
var fs = require("fs");
fs.readFile('input.txt', function (err, data) {
    if (err) return console.error(err);
    console.log(data.toString());
});
console.log("程序执行结束!");

其执行结果是:

$ node main.js
程序执行结束!
input.txt文件中的内容

可以发现,代码先执行了后面的内容,因此这是一个异步读取文件 的过程,省去了等待IO操作的时间。而且NodeJS整个服务器是一个While循环,当有请求发生时,都会把请求扔进并行的线程池中处理,当轮询时发现有请求完成时,就执行回调函数,因此是非阻塞的,极大提高了服务器的效率。

NodeJS的安装

Mac下安装NodeJS

在Mac上安装node.js非常简单,在官网:https://nodejs.org/en/download/ 上下载Macintosh Installer的安装包一键安装即可,它会自动装在/usr/bin路径下,一般用户的$path都包含该路径,因此不用做额外的环境变量配置。

Windows和Linux下安装NodeJS

在Windows和Linux(ubuntu)下Node.js的安装具体细节见:http://www.runoob.com/nodejs/nodejs-install-setup.html

第一个Web程序

下面是利用node.js写的一个最简单的可以用浏览器访问的程序HelloWorld.js:

var http = require("http");
http.createServer(function(request, response){
   response.writeHead(200,{'content-Type':'text/plain'});
   response.end('I love Abao!\n');
}).listen(8888);
console.log('Server running at http:127.0.0.1:8888/');

在终端中运行这个Helloworld.js:

$ node HelloWorld.js
Server running at http:127.0.0.1:8888/
(该程序一直处于监听状态......)

在浏览器中的运行结果:

第一个程序:I love Abao!

程序中首先require了http这个模块,创建了一个http对象,使用createServer方法去监听8888端口,监听收到request请求利用匿名回调函数给出响应response,最终显示"I love Abao!"。

相关文章

  • 阿宝的NodeJS私房菜(一)

    谨以此文献给阿宝,迈向成为全栈开发工程师的第一步! Node概述 NodeJS是一个高效的非阻塞式服务器,也是一个...

  • 绍兴人的一天之爱上做菜的女孩——用料理成就人生

    Afong平常热衷做菜,偶尔也会上网研究一些不同的菜式。半年前自己创业,在家中开了私房菜——一素私房菜。 平常Af...

  • 私房菜

    名起私房菜,不过是家常小菜,最是简单不过的了。现在开始有空就做点小菜,一方面是锻炼锻炼自己的厨艺,另一方面也是想从...

  • 私房菜

    小城街头巷尾偶有挂有私房菜的招牌。 “私房菜”的历史,可以追溯到清末光绪年间。据说祖籍广东的世家子弟谭瑑青,祖父辈...

  • 私房菜

    我家的私房菜 老友鼓励我说,空闲了写关于老爷子的随笔,都挺爱看的。我觉得这个馊主意还不错。 每到周末,我总是自觉不...

  • 私房菜

    今天过节,奶奶说换换口味,三妹订了家私房菜,按位收费,每人268,主菜佛跳墙。这两年很流行这种餐厅,神神秘秘隐蔽在...

  • 私房菜

    张亮是远近有名的厨师,很多食客都远道慕名而来,只为尝一尝他的手艺,他因此很骄傲。 近日,饭店里来了一个新的毛头小子...

  • 5.24

    周末老公私房菜时间。

  • vim快捷键

    参考:鸟哥的linux私房菜

  • Linux 运维入门到跑路书单推荐

    一、基础入门 《鸟哥的Linux私房菜基础学习篇》:最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇...

网友评论

      本文标题:阿宝的NodeJS私房菜(一)

      本文链接:https://www.haomeiwen.com/subject/tpwjtxtx.html