0

0

通过7个问题来简单认识一下Node.js

青灯夜游

青灯夜游

发布时间:2021-12-20 18:02:01

|

1822人浏览过

|

来源于掘金社区

转载

你了解node.js吗?如果不了解可以试试看下去。本文通过7个问题来简单认识一下node.js,希望对大家有所帮助!

通过7个问题来简单认识一下Node.js

1. Node诞生于哪一年?

Node诞生2009

2009年3月,Node的作者在其博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库

同年5月,在GitHub发布最初的版本

2011年7月,在微软的支持下发布了windows版本

2. 是谁创造出来的?

Ryan Dahl是Node的创造者,被称为Node之父

但在2012年1月,Ryan Dahl将掌门人身份转交给Isaac Z.Schlueter,由他接受Node的版本发布及bug修复等工作,Isaac Z.Schlueter也是后来NPM的作者

3. 为什么叫Node?

Node有很多别称,比如Nodejs、NodeJS、Node.js等,那为什么是Node呢?

起初,Ryan Dahl称他的项目为web.js,就是一个web服务器,但是项目的发展超出了他最初单纯开发一个web服务器的设想。变成了一个构建网络应用的基础框架,可以在它的基础上构建更多的东西,如服务器、客户端、命令行工具等等。Node发展为一个强制不共享任何资源的单线程、单进程系统,包含是适宜网络的库,为构建大型分布式应用程序提供基础设施,其目标也称为一个构建快速、可伸缩的网络应用服务。它自身非常简单,通过通信协议来组织许多Node,非常容易通过扩展来达成构建大型网络应用的目的。每一个Node进程都构成了这个网络应用中的一个节点,这正是Node的含义

4. 为什么是JavaScript成为了Node的实现语言?

选择JavaScript作为Node的实现语言的主要原因有3个:

Delphi 7应用编程150例 全书内容 CHM版
Delphi 7应用编程150例 全书内容 CHM版

Delphi 7应用编程150例 CHM全书内容下载,全书主要通过150个实例,全面、深入地介绍了用Delphi 7开发应用程序的常用方法和技巧,主要讲解了用Delphi 7进行界面效果处理、图像处理、图形与多媒体开发、系统功能控制、文件处理、网络与数据库开发,以及组件应用等内容。这些实例简单实用、典型性强、功能突出,很多实例使用的技术稍加扩展可以解决同类问题。使用本书最好的方法是通过学习掌握实例中的技术或技巧,然后使用这些技术尝试实现更复杂的功能并应用到更多方面。本书主要针对具有一定Delphi基础知识

下载
  • 高性能
  • 符合事件驱动
  • 没有历史包袱

Ryan Dahl曾经评估过C、Lua、Haskell、Ruby等作为备选实现,但是C开发门槛高,Lua有很多的历史包袱,Haskell又觉得自己还玩不转,而Ruby的虚拟机的性能又不太好。综合之下选择了JavaScript作为Node的实现语言

你可能会跟我一样想,JavaScript就没有历史包袱吗?是的,JavaScript在后端一直没有市场,历史包袱相当于零

5. Node有哪些主要特点?

主要有以下特点:

  • 异步I/O
  • 事件和回调函数
  • 单线程

Node保留了前端浏览器JavaScript中的那些熟悉的接口,没有改写语言本身的任何特性

6. Node有哪些应用场景?

Node的应用场景主要有以下几种:

  • CPU密集型
  • CPU密集型业务
  • 分布式应用

Node利用事件循环的处理能力,不需要为每一个请求启动一个线程,从而更有效的组织起更多的硬件资源;对于偏重CPU栈操作的业务,Node的表现也是足够高效的,主要原因是V8的深度性能优化

7. CPU密集型应用会给Node带来什么挑战,如何解决?

CPU密集型应用会给Node带来的主要挑战是:由于JavaScript单线程,如果长时间计算(如大的循环),将会导致CPU时间片不能释放,使得后续I/O无法发起

通常方案:

  • 适当调整和分解大型运算任务

如果上述方案无法解决,Node还有两种方法来充分利用CPU

  • Node可以编写C/C++扩展
  • 通过子进程的方式,将一部分Node进程当做常驻服务进程用于计算,然后利用进程间的消息来传递结果,将计算与I/O分离

更多node相关知识,请访问:nodejs 教程!!

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

0

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

6

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

22

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

3

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

1

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 7.6万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 1.9万人学习

Node.js-前端工程化必学
Node.js-前端工程化必学

共19课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号