Node.js 是什么

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

Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript 运行环境。采用Google开发的V8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能。

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。

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

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Node.js

    node.js是什么

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。Node 是一个让 JavaScript 运行在服务端的开发平台。
  • Lnk file Lnk 文件

    LNK是什么格式文件

    LNK文件是快捷方式文件,通常是由Windows操作系统在用户打开其文件时自动创建的文件,操作系统使用这些文件来确保对某个文件的快速访问,简单来说就是一种用于快速启动程序的命令行,删除快捷方式后,还可以我的电脑找到目标程序,同样可运行程序。
  • White list 白名单

    教育部白名单赛事是什么意思

    白名单赛事是教育部每年公布的面向6-18岁学生竞赛活动,组织主体是由中央编办、民政部登记注册的正规机构,赛事必须坚持公益性原则和自愿性原则,不收取任何报名费,含 36 项竞赛活动,比赛分为自然科学素养类、人文综合素养类、艺术体育类三个大类。
  • PASSIVE KEYLESS ENTER 无钥匙进入系统

    汽车无钥匙进入系统是什么

    汽车无钥匙进入系统是采用了RFID无线射频技术和最先进的车辆身份编码识别系统,率先应用小型化、小功率射频天线的开发方案,并成功的融合了遥控系统和无钥匙系统,沿用了传统的整车电路保护,真正的实现双重射频系统,双重防盗保护,提供便利和安全。
  • UWB 超宽带技术

    UWB技术是什么

    UWB技术是超宽带技术,一种无线载波通信技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,占频谱范围很宽,有系统复杂度低,发射信号功率谱密度低,对信道衰落不敏感,截获能力低,定位精度高等优点,适用于密集多径场所的高速无线接入。
  • smartkey 智能钥匙

    smartkey是什么

    SmartKey就是智能钥匙,智能钥匙是新一代的RFID产品,是一种安全性非常高的非接触式的自动识别技术,关键技术是每一个系统只有一个唯一的,不可复制的识别码,是一种射频自动设别系统,常应用于汽车、门禁、监狱管理等系统。