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 运行在服务端的开发平台。
  • 排名 ranking

    淘宝号降权是什么意思

    淘宝号降权是指淘宝平台对于某些卖家账号进行的降低搜索排名和展示频率的处罚。这意味着被降权的账号的商品在淘宝搜索结果中排名会更低,展示频率也会变小,这会影响商品的销量和曝光率。
  • 腾讯 WeTest

    腾讯WeTest是什么

    WeTest是腾讯官方出品的一站式质量云,致力于产品质量标准建设和产品品质提升,依托10余年腾讯产品品质管理经验,历经千款腾讯产品磨砺。平台集成云手机、兼容测试、功能测试、性能测试、安全测试、自动化测试等优秀产品服务,满足众多开发者从研发到运营各阶段的测试需求。
  • Bitlocker

    Bitlocker分区解密软件是什么

    Bitlocker分区解密软件是一款针对因各种原因导致Bitlocker分区打不开从而数据丢失进行恢复的软件。Bitlocker是微软自Vista后开始提供的一个自带的加密工具。而这一功能最大的好处就是更好的防止数据失窃或恶意泄漏问题的发生。
  • 达芬奇视频调色软件 DaVinci Resolve

    DaVinci Resolve是什么

    DaVinci Resolve(达芬奇)是一款在同一个软件工具中将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身的视频调色软件。它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作,还能提供专业人士需要的强大性能。
  • 科幻画 Science fiction painting

    科幻画是什么

    科幻画是指科幻题材的漫画或插画作品。科幻画通常是基于科学幻想或未来世界的想象,在作品中经常出现未来科技、外星人、机器人、虚拟现实等元素。它可能是一种虚构的故事,也可能是对现实世界的某种展望或预测。