码迷,mamicode.com
首页 > 其他好文 > 详细

Node开发指南

时间:2015-12-09 18:54:55      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

一、Node.js是什么?

  Node.js是一个可以让JavaScript运行在服务器端的平台。他可以让JavaScript脱离浏览器的束缚运行在一般的服务器环境下,就像运行Python、Perl、PHP、Ruby程序一样,你可以用Node.js轻松地进行服务器端引用开发,Python、Perl、PHP、Ruby能做的事情Node.js几乎都能做,而且可以做得更好。

  Node.js是一个为实时Web应用开发而诞生的平台,它从诞生之初就充分考虑了在实时响应、超大模块数据要求下架构的可扩展性。这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而采用了单线程、异步式I/O、事件驱动式的程序设计模型。这些特性不仅带来了巨大的性能提升,还减少了多线程程序设计的复杂性,进而提高了开发效率

  Node.js是一个让JavaScript运行在浏览器之外的平台。它实现了诸如文件系统、模块包、操作系统API、网络通信等Core JavaScript没有或者不完善的功能。随着Node.js的成功,各种浏览器外的JavaScript实现逐步兴起,因此产生了CommonJS规范,CommonJS试图拟定一套完整的JavaScript规范,以弥补普通应用程序所需的API,譬如文件系统访问、命令行、模块管理、函数库集成等功能。CommonJS制定者希望众多服务器端JavaScript实现遵循CommonJS规范,以便相互兼容和代码服用。Node.js部分遵循了CommonJS规范,但由于两者还都处于诞生之初的快速变化期,也会有不一致的地方。

  Node.js的JavaScript引擎是V8,来自Google Chrome项目,V8号称是目前世界上最快的JavaScript引擎,经历了数次引擎改革,他的JIT(Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。Node.js不运行在浏览器张,所以也就不存在JavaScript的浏览器兼容性的问题,可以放心地使用JavaScript语言的所有特性

二、Node.js能做什么?

  使用Node.js,可以轻松的开发:

    1、具有复杂逻辑的网站

    基于社交网络的大规模Web应用

    Web Socket服务器

    TCP/UDP套接字应用程序

    命令行工具

    交互式终端程序

    带有图形用户界面的本地应用程序

    单元测试工具

    客户端JavaScript编译器

  Node.js内建了HTTP服务器支持,这个服务器不仅可以用来调试代码,而且它本身就可以部署到产品环境,它的性能足以满足要求

  Node.js还可以部署到非网络应用的环境下,比如一个命令行工具,Node.js还可以调用C/C++的代码,这样可以充分利用已有的诸多函数库,也可以将对性能要求非常高的部分用C/C++来实现

三、异步式I/O与事件驱动

四、windows上的Node.js

  Node.js与window的兼容性仍然不如POSIX操作系统,这一点在npm提供的第三方模块中体现得尤为突出,这主要是因为许多第三方的模块需要编译原生的C/C++代码,其编译框架和系统调用很多都是以Linux为范本的,与windows不兼容

n是一个十分简洁的Node多版本管理器,

如果你已经安装好了Node.js和npm系统,就可以直接使用npm install -g n 命令来安装n ,如果想完全通过n来管理Node.js,那么没安装之前哪来的npm呢?事实上,n并不需要Node.js驱动,它只是bash脚本,使用npm安装只是采取一种简便的方式而已,我们可以在http://github.com/visionmedia/n下载它的代码,然后使用make install命令来安装

注意:n不支持windows 

  安装完n以后,在终端中运行 n ---help 即可看到它的使用说明 

通过n获取到的Node.js实例都会安装在/usr/local/n/versions/目录中

之后再运行n即可列出已经安装的所有版本的Node.js,其中“*”后的版本号为默认的Node.js版本,即可以直接使用node命令行调用的版本:

  n 

     0.6.11

   *  0.7.5

如果你不想直接切换默认环境,可以使用n use版本号script.js直接指定Node.js的运行实例

例如: $ n use 0.6.11 script.js

警告:

  n无法管理通过其他方式安装的Node.js版本实例(如官方提供的 安装包,发行版软件源,手动编译),必须通过n安装Node.js才能管理多版本的Node.js

Node.js命令行工具:

  1、运行Node.js程序的基本方法就是执行node script.js ,其中script.js是脚本的文件名

  2、我们可以把要执行的语句作为node -e的参数直接执行 

  例如: node -e "console.log(‘hello world‘)"   hello world

  3、使用node的REPL模式,REPL(Read-eval-print loop),即输入---求值---输出循环,运行无参数的node将会启动一个JavaScript的交互式shell,进入一个即时求值的运行环境,进入REPL模式以后,会出现一个“>”提示符提示你输入命令,输入后按回车,Node.js将会解析并执行命令。如果你执行了一个函数,那么REPL还会在下面显示这个函数的返回值,上面例子中的undefined就是console.log的返回值,如果输入一个错误的指令,REPL则会立即显示错误并输入调用栈,在cmd命令行工具中,输入node,按enter,就会出现Node.js的REPL模式

  node提出的REPL的好处:

     可以测试一个包能否正常使用,单独调用应用的某一个模块,执行简单的计算等

    

Node开发指南

标签:

原文地址:http://www.cnblogs.com/zouer/p/5033354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!