- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查询数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - 简介
什么是 Node.js?
Node.js 是一个基于 Google Chrome 的 JavaScript 引擎 (V8 引擎) 构建的服务器端运行环境。Node.js 由 Ryan Dahl 于 2009 年开发,最新版本为 v20.9.0。Node.js 是一个跨平台(可在 Windows、Linux、Unix、macOS 等系统上运行)、开源的、后端 JavaScript 运行环境,可以在 Web 浏览器之外执行 JavaScript 代码。
Node.js 的官方文档对其定义如下:
Node.js 是一个基于 Chrome 的 JavaScript 运行时环境构建的平台,用于轻松构建快速且可扩展的网络应用程序。Node.js 使用事件驱动、非阻塞 I/O 模型,使其轻量且高效,非常适合运行在分布式设备上的数据密集型实时应用程序。
Node.js 环境是事件驱动的,并提供非阻塞 I/O,从而优化了 Web 应用程序的吞吐量和可扩展性。现在由 Linux 基金会的协作项目计划支持的 OpenJS 基金会负责 Node.js 的分布式开发。
Node.js 的特性
以下是使 Node.js 成为软件架构师首选的一些重要特性。
异步和事件驱动 - Node.js 库的所有 API 都是异步的,即非阻塞的。这基本上意味着基于 Node.js 的服务器永远不会等待 API 返回数据。服务器在调用 API 后会转到下一个 API,而 Node.js 的事件通知机制帮助服务器从之前的 API 调用中获取响应。
非常快 - 基于 Google Chrome 的 V8 JavaScript 引擎构建,Node.js 库的代码执行速度非常快。
单线程但高度可扩展 - Node.js 使用单线程模型和事件循环。事件机制帮助服务器以非阻塞方式响应,并使服务器具有高度可扩展性,这与创建有限线程来处理请求的传统服务器相反。Node.js 使用单线程程序,同一个程序可以比 Apache HTTP Server 等传统服务器提供服务给更多数量的请求。
无缓冲 - Node.js 应用程序从不缓冲任何数据。这些应用程序只是分块输出数据。
许可证 - Node.js 在 MIT 许可证 下发布。
下图描述了 Node.js 的一些重要部分,我们将在后续章节中详细讨论。
在哪里使用 Node.js?
以下是 Node.js 证明自己是完美技术合作伙伴的领域。
I/O 密集型应用程序
数据流应用程序
数据密集型实时应用程序 (DIRT)
基于 JSON API 的应用程序
单页应用程序
但是,不建议将 Node.js 用于 CPU 密集型应用程序。
Node.js 主要用于构建网络程序,例如 Web 服务器。但是,您可以构建不同类型的应用程序,例如命令行应用程序、Web 应用程序、实时聊天应用程序、REST API 等。
有数千个可用的 Node.js 开源库,其中大部分托管在 npm 网站上,npm 是 JavaScript 编程语言的包管理器。许多 Web 框架可用于加速应用程序的开发。一些流行的框架包括 Express.js、Feathers.js、Koa.js、Sails.js、Meteor 等等。
许多 IDE,例如 Atom、JetBrains WebStorm、NetBeans 和 Visual Studio Code,都支持 Node.js 应用程序的开发。可以使用 Google Cloud Platform 和 AWS Elastic Beanstalk 等云托管平台来托管 Node.js 应用程序。
