Node.js教程

 Node.js是什么?

Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的服务器端平台。Node.js是由瑞恩·达尔在2009年开发的,它的最新版本是v0.10.36。 Node.js确定在其官方文档如下:

Node.js®是建立在Chrome的JavaScript运行时很容易构建快速,可扩展的网络应用程序的平台。 Node.js使用事件驱动,非阻塞I/O模型,使得它重量轻,效率高,完美的跨分布式设备运行数据密集型实时应用。

Node.js是一个开源,跨平台运行环境的服务器端和网络应用。Node.js应用程序是用JavaScript编写的,并可以在OS X,微软Windows和Linux内的Node.js运行时运行。

Node.js还提供了丰富的各种模块的JavaScript库,从而简化了使用Node.js,一个很大的程度上方便web应用程序的研究与开发。

Node.js = Runtime Environment + JavaScript Library

Node.js特性

以下是一些使得Node.js成为软件架构师的首选的重要特征。

  • Node.js库异步和事件驱动 - 所有API异步是非阻塞。 这意味着一个基于Node.js的服务器不会等待API返回数据。 服务器移动到下一个API后调用它,Node.js事件的一个通知机制有助于服务器,以获得从以API调用的响应。

  • 非常快 - 正在构建在谷歌Chrome的V8 JavaScript引擎,Node.js库代码执行是非常快的。

  • 单线程但高度可扩展 - Node.js使用事件循环单线程模型。事件机制有助于服务器在非阻塞的方式作出反应,并使得服务器的高可扩展性,而不是它创建线程限制来处理请求的传统服务器。 Node.js使用单线程的程序和同样的程序处理比传统的服务器要大的多,比如:比Apache HTTP服务器请求服务的数量大得多。

  • 无缓冲 - Node.js的应用从来没有缓冲任何数据。这些应用程序只需输出块中的数据。

  • 许可证 - Node.js是在MIT许可下发布的。

谁在使用Node.js?

以下是包含项目,应用和公司,都使用node.js一个详尽的清单在github链接, 这个列表包括eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo!, Yammer都在不断使用它。

概念

下图描述了Node.js的一些重要组成部分,我们将详细在随后的章节讨论。

Node.js Concepts

在哪里可以使用Node.js?

以下是Node.js是证明自己完美的技术的领域。

  • I/O密集型应用程序

  • 数据流应用

  • 数据密集型实时应用(DIRT)

  • JSON API的应用程序

  • 单页应用

在哪些地方不要使用Node.js?

不建议使用Node.js在CPU密集型应用。


猿狮妹
2022-07-27
node.js node.js教程 node.js redis nodejs mysql nodejs socket 在线教程
热门教程
1 Node.js教程 Node.js是一个轻松构建快速,可扩展建立在Chrome的JavaScript运行的网络应用平台。Node.js使用事件驱动,非阻塞I/O模型,使得它重量轻,高效,完美的数据密集型实时应用程序运行在分布式设备。
2 Node.js快速入门 Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 它的最新版本是:v0.12.7(在编写本教程时的版本)。Node.js在 官方网站 的定义文件内容如下: Node.
3 Node.js安装和入门 Node.js是一个轻松构建快速,可扩展的网络应用平台建立在Chrome的JavaScript运行。Node.js使用事件驱动,非阻塞I/O模型,使得它重量轻,高效,完美的数据密集型实时应用程序运行在分布式
4 Linux安装Node.js(源码编译安装) 环境: Ubuntu12.04.2LTS(GNU/Linux3.5.0-23-generici686) 下载Node.js安装包,请参考网址: http://nodejs.org/download/ 这里选择源码包安装方式,安装过程如下: 登陆到Linux终端,进入/usr/local/src目录,如
5 Node.js入门实例程序 在使用Node.js创建实际Hello, World!应用程序之前,让我们看看Node.js的应用程序的部分。Node.js应用程序由以下三个重要组成部分: 导入需要模块 :我们使用require指令加载Node.js模块。 创建服
6 Node.js REPL终端 REPL表示读取评估和演示打印循环(Read Eval Print Loop),它代表一个命令输入和系统在交互模式的输出响应窗口控制台或Unix/ Linux的shell计算机环境。Node.js附带了一个REPL环境。它执行以下期
7 Node.js npm Node程序包管理器(NPM)提供了以下两个主要功能: 在线存储库的Node.js包/模块,可搜索 search.nodejs.org 命令行实用程序来安装Node.js的包,做版本管理和Node.js包依赖管理。 NPM捆绑v0.6.3版
8 Node.js回调概念 什么是回调? 回调是一个异步等效的功能。在完成特定任务回调函数被调用。 Node大量使用了回调。Node的所有的API都支持回调这样的一种方式。 例如,一个函数读取一个文件可能开始读
9 Node.js事件循环 Node JS是单线程应用程序,但它通过事件和回调概念,支持并发。由于Node JS每一个API是异步的,作为一个单独的线程,它使用异步函数调用,以保持并发性。Node JS使用观察者模式。Nod
10 Node.js事件发射器 在Node很多对象发出事件,例如net.Server每个同级连接到它,一个fs.readStream发出打开文件事件时,每次都发出一个事件。它发出事件的所有对象都是events.EventEmitter的实例。 EventEmitter 类
  • Copyright © 2021 猿狮院, All rights reserved.