您的位置:首页 > Web前端 > Node.js

初识 node.js

2017-05-05 11:55 411 查看

初识 node.js

标签:作者:Brosnan JavaScript工具 计算机

目录(本文结构)

初识 nodejs
目录本文结构

简介

特性

Nodejs的优点

模块

安装
Linux下Nodejs的安装

Windows下Nodejs的安装

Nodejs的应用方向

Hello World

THE END

简介

Node.js是一个JavaScript运行环境(runtime),Node.js实质上是对Google V8引擎进行了封装。Node.js对一些特殊用例进行了优化,提供了可替代的API,使得V8在浏览器环境下更高效的运行。

Node.js是一个基于Chrome JavaScript runtime建立的平台,用于方便的搭建响应速度快、易扩展的网络应用。Node.js采用事件驱动非阻塞I/O模型得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

特性

V8引擎本身使用了一些最新的编译技术,这使得用JavaScript这类脚本语言编写出来的代码运行速度获得了极大的提升,又节省了开发成本。JavaScript是一种事件驱动语言,Node利用这一优点,编写出可扩展性高的服务器。Node采用了一个称为“事件循环”,的架构,使得编写可扩展性高的服务器变得既容易又安全。

Node采用了一系列“非阻塞”库来支持事件循环。本质上就是为文件系统、数据库之类的资源提供接口。在向文件系统发送请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问。对于熟悉onmouseover、onclick等DOM事件的人来说,更有一种似曾显示的感觉。

虽然让JavaScript运行在服务器端不是Node所独有的特性,但它强大的功能肯定值得你去尝试。任何服务器与客户端应用程序间共享代码的愿望只能通过JavaScript来实现。

最后想真诚的向大家推荐Node社区。在这里,不管是新手,还是专家,大家都围绕着项目,贡献者自己的一份力量。

Node.js的优点

RESTful API

单线程

非阻塞IO

v8虚拟机

事件驱动

友情提示:Node.js可以在不增加额外线程的情况下,依然可以通过事件轮询(event loop)操作对任务进行并发处理,因此,在编写程序的时候尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。

模块

Node.js使用Module模块划分不同的功能,以此来简化应用的开发。Module模块有点类似C++语言中的类库。每一个Node.js的类库都包含了十分丰富的各类函数,比如http模块就包含了和http功能相关的很多函数,可以帮助开发者对比诸如http、tcp/udp等的操作,还可以很容易创建http和tcp/udp的服务器。

要在程序中使用模块是十分方便的,只需要引入http类库,并且对http类库的引用存放在http变量中。此时,node.js会自动在应用中搜索是否存在node_module目录,并且搜索这个目录中是否存在http的模块。如果node.js找不到这个目录,则会在全局模块缓存中去寻找,用户可以通过相对或者绝对路径,指定模块的位置,比如:

var myModule=require('./myModule.js')


模块中包含了很多功能代码片段,在模块中的代码大部分都是私有的,也就是说在模块中定义的函数方法和变量,都只能在一个模块中被调用。当然,可以将某些方法和变量暴露到模块外,这个时候可以使用exports对象去实现。

安装

Linux下Node.js的安装

首先在node.js官网根据操作系统下载相关的安装包,对于Ubuntu(Linux)下的安装,可以进行如下操作:

sudo apt-get update
sudo apt-get install node


Windows下Node.js的安装

Windows下的安装:node.js官网已经提供了安装包和编译器,版本v6.10.2.msi和相应的API文档

Node.js的应用方向

经过几年的演变,Node.js逐渐发展为一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用Node.js进行开发,因此,开发人员可以使用它来开发一些移动web框架

除了web应用外,Node.js也被应用其他方面,这些项目涉及到应用程序监控、媒体流、远程控制、桌面和移动应用等等

Hello World !

任何一套标准都是由一个著名的程序开始:Hello World ! 在Node中,http是首要的。Node为创建http服务器做了优化,所以你在网上看到的大部分实例和库都是集中在web上(http框架、模板库等)。下面Hello World !正式出场:

var http=require('http');
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");


本文结构

初识 nodejs
目录本文结构

简介

特性

Nodejs的优点

模块

安装
Linux下Nodejs的安装

Windows下Nodejs的安装

Nodejs的应用方向

Hello World

THE END

THE END !

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息