我的编程空间,编程开发者的网络收藏夹
学习永远不晚

什么是nodejs

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

什么是nodejs

什么是nodejs,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

nodejs是一个基于Chrome V8引擎的JavaScript运行环境,一个让JavaScript运行在服务端的开发平台,让脚本语言JavaScript能作为服务器语言。node的优点:超强的高并发能力、使用JavaScript语法等。

本教程操作环境:windows7系统、nodejs 14.15.4版,DELL G3电脑。

Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。

Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

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

  • V8是基于BSD许可证的开源软件

  • V8速度非常快

  • V8专注于网络功能,在HTTP、DNS、TCP等方面更加成熟

Node.js的优势?为什么脚本语言JavaScript能作为服务器语言?

优点 1    Node.js有超强的高并发能力

Node.js的首发目标,是提供一种简单的,用语创建高性能服务器及在该服务器中运行各种应用程序的开发工具。

相对于Java,PHP或者.net 等经典服务器端语言中,Node.js正像一个年轻力胜的小伙子,Java语言会为每一个客户端创建一个新的线程,而每一个客户端连接创建一个线程,需要耗费2MB的内存。也就是说。理论上一个8GB的服务器可以同时连接用户数为4000个左右,要存在高并发支持更多的用户,必须要额外增加服务器。

Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。

这就是Node基于单线程(只有一个主线程去接请求,给响应)

那这不是更慢吗?事实上,并不是这样。

Node.js当接收到一个用户连接,就会触发一个内部事件。通过事先定义好的函数,达到响应用户的行为。Node.js主线程并不关心程序要走什么流程,实际上,有另外的工作线程去帮Node主线程去存取文件,读数据库,当工作线程读取到文件数据,或数据库里面的数据,就会把回调函数返回给Node主线程去执行,例如 把找到的数据传回客户端,关闭连接一些操作。(这就是Node非阻塞I/O,基于事件驱动)。

下面附上我画的一张图(如有不恰当之处请见谅哈)

什么是nodejs

这时候我们脑袋里面应该有个雏形,就是——Node.js主线程一直在接收请求和响应请求这个活里面倒腾,这样它就可以不停地接收多个客户端发过来的请求,它不用傻傻去等待IO操作,IO工作线程找到了数据,就会触发事件回调函数告诉主线程数据已经拿到了,这时候主线就执行回调函数,把数据返回给客户端。

理论上,一个8G内存的服务器,可以同时容纳3到4万用户的连接。

这就是Node的闪光之处(单线程,非阻塞IO,事件驱动)

优点  2  Node用的就是JavaScript的语法

Node.JS 基于 javaScript 的 V8引擎,也就是说只要会JS的语法,就能用于后端开发,但是Node官方推荐用ECMA Script6(ES6)语法 。

Node打破了过去JavaScript只能在浏览器运行的局面,让前后端编程环境统一,这样就大大降低了开发成本。(这一点对前端开发人员非常友好,JS能做的东西越来越多,前端发展就越来越快)

优点  3  Node.JS 出现促成前端工程化思想

前端最近几年发展迅速,Node.js起到不可替代的作用。

Node.js不仅仅是运行环境,也是一门脱胎换骨全新的JavaScript语言,它容纳了JS语法基础,还加入一些内部模块

如:

http用来处理请求响应的模块

fs   用来读取文件的模块

url   用来解析请求数据等等

const http = require('http')

Node.js还集成了 Npm  包管理工具,让我们可以很方便的通过命令行就能下载我们项目依赖的包

如:

npm install jquery

npm install -g webpack

npm install  -g create-react-app    等等

同样,只要在项目里面进行引入就能使用

 const  Jquery = require('jquery');

         Node 还支持 自定义模块语法   ↓↓

const app =()=>{
     //模块代码
     
}
module.exports = app;
const app = require('module/app.js');   //引入自定义模块

        Node.js 在某种层面上影响着前端开发的模式。让前端工程模块化,开发迅速,降低代码耦合度,可维护性大大增强。

Node.js适合做什么?

             下面列举几个Node.js应用场景

什么是nodejs

看完上述内容,你们掌握什么是nodejs的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

什么是nodejs

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nodejs是什么

nodejs是什么?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、nodejs简介node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javasc
2023-06-14
2024-04-02

nodejs中express是什么

这篇文章主要介绍nodejs中express是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 本篇文章给
2023-06-08

nodejs的作用是什么

nodejs的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、nodejs简介node 是一个基于 V8 引擎的 Javascript 运行环境,它
2023-06-14

nodejs中的gulp是什么

本文小编为大家详细介绍“nodejs中的gulp是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“nodejs中的gulp是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。gulp是前端开发过程中一种基于流
2023-07-02

nodejs事件循环是什么

这篇文章主要讲解了“nodejs事件循环是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nodejs事件循环是什么”吧!我们都听说过 JavaScript 和 Node.js 是单线程的
2023-07-04

做nodejs的是什么岗位

Node.js是一种基于Chrome V8引擎的JavaScript运行时,用于开发服务器端应用程序。Node.js以其可伸缩性、高效性和可靠性而成为开发人员的首选技术,其带来的优势包括跨平台、快速响应以及大量现成的模块和库。那么,做Node.js的岗位是什么呢?一、Node.js开发工程师Node.js开发工程师是一个专业负责开发、测试、维护和运行Node.js服务器应用程序
2023-05-17

为什么nodejs是单线程的

在开发Web应用或者服务器端应用时,Node.js已成为了一种非常流行的选择。Node.js是一个基于Chrome V8 JavaScript引擎的开源平台,它允许在服务器端使用JavaScript编写高性能、可扩展的应用程序。然而,相对于其他的服务器端技术,Node.js有一个独特的特点:它是单线程的。这意味着仅有一个线程来处理所有客户端请求和服务器操作。那么,为什么Node
2023-05-18

编程热搜

目录