nodejs简介ITeye - 千亿集团

nodejs简介ITeye

2019-01-13 17:37:35 | 作者: 映冬 | 标签: 一个,运用,功用 | 浏览: 1539

 

Node.js是一个能够快速构建网络服务及运用的渠道[1]。该渠道的构建是依据Chromes JavaScript runtime,也就是说,实际上它是对GoogleV8引擎(运用于Google Chrome浏览器)进行了封装。[1]

V8引 擎履行Javascript的速度十分快,功用十分好。Node对一些特别用例进行了优化,供给了代替的API,使得V8在非浏览器环境下运转得更好。[2]

例如,在服务器环境中,处理二进制数据一般是必不可少的,但Javascript对此支撑缺乏,因而,V8.Node增加了Buffer类,便利而且高效地 处理二进制数据。因而,Node不仅仅简略的运用了V8,还对其进行了优化,使其在各环境下更加给力。[3]

(概述内容来历:[4]图片来历:[2])

 

装置:

 

Node.js的装置

下面介绍下Node.js的装置,首先在nodejs nbsp;org的网站上依据操作体系下载相关的装置包,关于ubuntu[8](linux)下的装置,能够如下进行:

sudo apt-get update

sudo apt-get install node

或许:

sudo aptitude update

sudo aptitude install node

Node.js就会在sid库,能够将它们增加到sources来历列表中

sudo echo deb http://ftp.us.debian org/debian/ sid main /etc/apt/sources.list.d/sid.list

但要留意的是,在完结装置后,需求移走/etc/apt/sources.list.d/sid.list。[3]

 

特性:

 

V8引擎自身运用了一些最新的编译技能。这使得用Javascript这类脚本言语编写出来的代码与用C这类高档言语写出来的代码功用相差无几,却节省了开发本钱。对功用的苛求是Node的一个关键因素。 Javascript是一个事情驱动言语,Node利用了这个长处,编写出可扩展性高的服务器。Node选用了一个称为“事情循环(event loop)”的架构,使得编写可扩展性高的服务器变得既简单又安全。进步服务器功用的技巧有多种多样。Node挑选了一种既能进步功用,又能减低开发杂乱度的架构。这是一个十分重要的特性。并发编程一般很杂乱且布满地雷。Node绕过了这些,但仍供给很好的功用。

Node选用一系列“非堵塞”库来支撑事情循环的方法。本质上就是为文件体系、数据库之类的资源供给接口。向文件体系发送一个恳求时,无需等候硬盘(寻址并检索文件),硬盘准备好的时分非堵塞接口会告诉Node。该模型以可扩展的方法简化了对慢资源的拜访, 直观,易懂。尤其是关于了解onmouseover、onclick等DOM事情的用户,更有一种似曾相识的感觉。

尽管让Javascript运转于服务器端不是Node的共同之处,但却是其一强壮功用。不得不供认,浏览器环境约束了咱们挑选编程言语的自在。任何服务器与日益杂乱的浏览器客户端运用程序间同享代码的希望只能经过Javascript来完成。尽管还存在其他一些支撑Javascript在服务器端 运转的渠道,但由于上述特性,Node开展迅猛,成为事实上的渠道。

在Node发动的很短时间内,社区就现已奉献了许多的扩展库(模块)。其间许多是衔接数据库或是其他软件的驱动,但还有许多是凭他们的实力制造出来的十分有用的软件。

最终,不得不说到的是Node社区。尽管Node项目还十分年青,但很少看到对一个项目如此疯狂的社区。不管是新手,仍是专家,咱们都围绕着项目,运用并奉献自己的才能,致力于打造一个探究、支撑、共享、听取主张的乐园。[6]

Node.js的长处

nodejs作为一个新式的后台言语,有许多吸引人的当地:

RESTful API

单线程

Node.js能够在不新增额定线程的情况下,仍然能够对使命进行并行处理 —— Node.js是单线程的。它经过事情轮询(event loop)来完成并行操作,对此,咱们应该要充分利用这一点 —— 尽可能的防止堵塞操作,取而代之,多运用非堵塞操作。

非堵塞IO

V8虚拟机

事情驱动

 

 

 

集成开发环境:

 

具有书写javascript的IDE均可.一般的记事本也能够进行开发.

 

示例程序:

 

任何一套规范都由一个闻名的程序开端:Hello World !在Node中,Http是首要的。Node为创立http服务器作了优化,所以你在网上看到的大部分示例和库都是会集在web上(http结构、模板库等)。以下做了一个nodejs的Hello World 演示[14]:

var http = require(http);

server = http.createServer(function (req, res) {

res.writeHeader(200, {"Content-Type": "text/plain"});

res.end("Hello World\n");

})

server.listen(8000);

console.log("httpd start @8000");

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章