Node.js 是什么

fanly 问答 2019-03-26 14:25:02 阅读(...)

Node.js 是一个能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由 Node.js 基金会持有和维护,并与 Linux 基金会有合作关系。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和 异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的即时应用程序。

Node.js

Node.js 大部分基本模块都用 JavaScript 语言编写。在 Node.js 出现之前,JavaScript 通常作为客户端程序设计语言使用,以 JavaScript 写出的程序常在用户的浏览器上运行。Node.js 的出现使 JavaScript 也能用于服务端编程。Node.js 含有一系列内置模块,使得程序可以脱离 Apache HTTP Server 或 IIS,作为独立服务器运行。

当前,Node.js 已被 IBM、Microsoft、Yahoo!、Walmart、Groupon、SAP、LinkedIn、Rakuten、PayPal、Voxer 和 GoDaddy 等企业采用。

Node.js 简介

Node.js 允许通过 JavaScript 和一系列模块来编写服务器端应用和网络相关的应用。核心模块包括文件系统 I/O、网络(HTTP、TCP、UDP、DNS、TLS/SSL 等)、二进制数据流、加密算法、数据流等等。Node 模块的 API 形式简单,降低了编程的复杂度。

使用框架可以加速开发。常用的框架有 Express.js、Socket.IO 和 Connect 等。Node.js 的程序可以在 Microsoft Windows、Linux、Unix、Mac OS X 等服务器上运行。Node.js 也可以使用 CoffeeScript(一种旨在简化 JavaScript 的替代语言,其代码可按照一定规则转化为合法的 JavaScript 代码)、TypeScript(微软开发的强化了数据类型的 JavaScript 变体)、Dart 语言,以及其他能够编译成 JavaScript 的语言编程。

Node.js 主要用于编写像 Web 服务器一样的网络应用,这和 PHP 和 Python 是类似的。但是 Node.js 与其他语言最大的不同之处在于,PHP 等语言是阻塞的(只有前一条命令执行完毕才会执行后面的命令),而 Node.js 是非阻塞的(多条命令可以同时被运行,通过回调函数得知命令已结束运行)。

Node.js 是事件驱动的。开发者可以在不使用线程的情况下开发出一个能够承载高并发的服务器。其他服务器端语言难以开发高并发应用,而且即使开发出来,性能也不尽人意。Node.js 正是在这个前提下被创造出来。Node.js 把 JavaScript 的易学易用和 Unix 网络编程的强大结合到了一起。

Node.js 使用 Google V8 JavaScript 引擎,因为:

  • V8 是基于 BSD 许可证的开源软件
  • V8 速度非常快
  • V8 专注于网络功能,在 HTTP、DNS、TCP 等方面更加成熟

Node.js 已经有数十万模块,它们可以通过一个名为 npm 的管理器免费下载。Node.js 开发社区主要有两个邮件列表、一个在 freenode 的名为#node.js 的 IRC 频道。社区集中在 NodeConf。

本文链接:https://www.leiue.com/what-is-node-js

除非注明,否则均为泪雪网原创文章,转载必须以链接形式标明本文链接

收藏 1个人收藏 头像
走进科技生活方式

发表评论

登录后参与评论