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

nodejs-学习笔记001

2018-03-24 07:48 246 查看
简介   
 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台。它可以让JavaScript 脱离浏览器的束缚运行在一般的服务器环境下,就像运行 Python、Perl、PHP、Ruby程序一样。你可以用 Node.js 轻松地进行服务器端应用开发,Python、Perl、PHP、Ruby 能做的事情 Node.js 几乎都能做,而且可以做得更好。 一句话概括,就是让javascript作为后台服务器的开发语言。
    Node.js 不是一种独立的语言 
    Node.js 也不是一个 JavaScript 框架 [/u]
    Node.js 更不是浏览器端的库 

    Node.js 是一个让 JavaScript 运行在服务端的开发平台 
Node.js 不运行在浏览器中 
Node.js 是一个让 JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统 API、网络通信等 Core JavaScript 没有或者不完善的功能。 
Node.js 的 JavaScript 引擎是 V8,来自 Google Chrome 项目 
Node.js 不运行在浏览器中,所以也就不存在 JavaScript 的浏览器兼容性问题,你可以放心地使用 JavaScript 语言的所有特性。
Node.js 能做的远不止开发一个网站那么简单,使用 Node.js,你可以轻松地开发: 
 具有复杂逻辑的网站;
 基于社交网络的大规模 Web 应用;
 Web Socket 服务器;
 TCP/UDP 套接字应用程序; 8
 命令行工具;
 交互式终端程序;
 带有图形用户界面的本地应用程序;
 单元测试工具;

 客户端 JavaScript 编译器。

Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计 。Node.js 使用的是单线程模型,对于所有 I/O 都采用异步式的请求方式,避免了频繁的上下文切换。Node.js 在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送到事件队列,等待程序进程进行处理。 


这种异步事件模式的弊端也是显而易见的,因为它不符合开发者的常规线性思路,往往需要把一个完整的逻辑拆分为一个个事件,增加了开发和调试难度。 
Node.js 的架构



CommonJS 规范与实现 
为了统一 JavaScript 在浏览器之外的实现,CommonJS 诞生了。CommonJS 试图定义一套普通应用程序使用的API,从而填补 JavaScript 标准库过于简单的不足。CommonJS 的终极目标是制定一个像 C++ 标准库一样的规范,使得基于 CommonJS API 的应用程序可以在不同的环境下运行,就像用 C++ 编写的应用程序可以使用不同的编译器和运行时函数库一样。为了保持中立,CommonJS 不参与标准库实现,其实现交给像 Node.js 之类的项目来完成。图1-5是 CommonJS 的各种实现。 



CommonJS 规范包括了模块(modules)、包(packages)、系统(system)、二进制(binary)、控制台(console)、编码(encodings)、文件系统(filesystems)、套接字(sockets)、单元测试(unit testing)等部分。目前大部分标准都在拟定和讨论之中,已经发布的标准有Modules/1.0、Modules/1.1、Modules/1.1.1、Packages/1.0、System/1.0。 

 

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