Node基础概念,先了解一下

这篇具有很好参考价值的文章主要介绍了Node基础概念,先了解一下。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nodejs是基于Chrome V8引擎的服务器端JavaScript运行环境,也就是说可以在浏览器之外的主机上运行JavaScript。

NodeJS

Nodejs有三部分组成:标准库、中间层和底层库。

Node基础概念,先了解一下,Node,node.js
标准库:是给开发人员直接调用的API,比如HTTP模块;

中间层:为什么要有中间层呢?主要是因为NodeJS底层采用C语言来实现,标准库的JavaScript不能直接和C通信,只能通过中间层来完成通信。总的来说,中间层是链接标准库和底层的通道。

底层库:由C/C++实现,包含了V8、libuv、C-ares、OpenSSL、zlib。是nodeJs运行的关键。

V8引擎,为了提高JavaScript的运行效率,采用了提前编译,把JavaScript编译为原生的机器码。V8引擎采用C++编写。

libuv:使用C语言编写,提供了非阻塞的文件系统、DNS、网络、子进程、管道、信号、轮询和流式处理机制。

NodeJS通过中间层,把JavaScript传给底层的V8引擎进行解析,然后通过libuv进行调度,最终返回给调用NodeAPI的应用。

C-ares:用来处理异步DNS的请求库。
OpenSSL:通用的加密库,用于网络传输中TLS和SSL协议的实现,比如Nodejs中的tls、crypto模块。

zlib:压缩和解压的底层模块。

一些概念

1、Node 的核心就是事件驱动,把I/O操作作为事件响应,而不是阻塞操作。

2、Nodeji采用单线程模型,只需要轻量级的线程就可以处理大量的请求。Node把所有的I/O操作都放在事件队列中,一但事件出现,Node就会依次处理它们。

如果采用多个线程的话,增加开销和复杂性。因为创建、销毁线程以及在线程之间切换都产生性能开销的。

3、非阻塞I/O:传统的I/O操作,比如发生数据读写的时候,程序会被阻塞,需要等到数据读写完成后,才能进入下一个操作。然而Node的I/O操作是非阻塞的,当某一个I/O操作发生后,直接回调对应的函数,不会阻塞下一个操作。

4、事件循环:Node采用了事件循环的方式,在工作线程池中维护一个任务队列。当接收到一个请求后,会将请求放到任务队列中,然后继续接收其他的事件。通过事件循环流程来对任务队列的事件进行处理。如图所示:

Node基础概念,先了解一下,Node,node.js
在这个草图中,计时器阶段,是处理setTimeout和setInterval设置的函数。

回调就是运行挂起的回调函数;

轮询:检索传入的I/O事件并且运行和I/O相关的回调函数。

检查:完成轮询后立即运行回调

关闭回调就是关闭事件和回调。

篇幅短点,更容易记住!!!文章来源地址https://www.toymoban.com/news/detail-726644.html

到了这里,关于Node基础概念,先了解一下的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node.js 的 Buffer 是什么?一站式了解指南

    在 Node.js 中,Buffer 是一种用于处理二进制数据的机制。它允许你在不经过 JavaScript 垃圾回收机制的情况下直接操作原始内存,从而更高效地处理数据,特别是在处理网络流、文件系统操作和其他与 I/O 相关的任务时。Buffer 是一个全局对象,不需要额外的模块导入就可以使用。

    2024年02月11日
    浏览(58)
  • Node.js |(一)Node.js简介及计算机基础 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 可以 让其他人访问我们编写的网页 。 为 后续的框架学习 打基础。 Node.js 是一个 开源 的,跨平台的 JavaScript 运行环境。 通俗来讲 : Node.js 就是一款 应用程序 ,是一款软件,它可以 运行 Javascript 。 开发服务

    2024年02月13日
    浏览(66)
  • 记录一下,C#运行nodejs调用js文件提示报错:Error: node:internal/modules/cjs/loader:1080

    个人记录一下,C#运行nodejs调用js文件提示报错: 报错提示信息: Error: node:internal/modules/cjs/loader:1080 throw err;   ^  Error: Cannot find module \\\'F:鎴戠殑....................” .....................下面还有很多报错内容 还有英文提示模块未找到的提示。 我另一个文件运行没报错,运行正常有

    2024年02月11日
    浏览(156)
  • Node.js |(二)Node.js API:fs模块 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 fs : file system ,文件系统。 fs模块可以实现与硬盘的交互 ,例如文件的创建、删除、重命名、移动、内容的写入读取以及文件夹的相关操作。 语法 : fs.writeFile(file,data[,options],callback) 参数说明 : file 文件名

    2024年02月12日
    浏览(72)
  • Node.js |(三)Node.js API:path模块及Node.js 模块化 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 ⭐️模块初体验 创建 me.js 创建 index.js ⭐️暴露数据 模块暴露数据的方式有两种: module.exports = value exports.name = value module.exports 可以暴露 任意 数据。 不能使用 exports = value 的形式暴露数据,模块内部 module 与

    2024年02月13日
    浏览(50)
  • 前端jd要求:了解一门后端开发语言优先 解决方案之Node.js

    作为前端开发者,了解一门后端开发语言可以为我们提供更多的职业机会和技术优势。在当今的技术领域中,前后端分离的开发模式已经成为主流,前端和后端的协作和沟通变得越来越紧密。因此,作为前端开发者,学习一门后端语言已经成为提高自己技能的重要途径。 以下

    2024年02月12日
    浏览(52)
  • Node.js--基础

    Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. 1、特性 Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如: 文件的读写 (File System) 进程的管理 (Process) 网络通信 (HTTP/HTTPS) …… 2、举例 2.1 浏览器安全级别的限制 Ajax测试 浏览器预览 2

    2024年02月01日
    浏览(35)
  • node.js基础

    定义: node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境(后端 javaScript 运行环境) 浏览器属于 JavaScript 前端运行环境 node.js 官网: https://nodejs.org/en 📌引入模块的方式 📌模块分类 🍁内置模块: fs、path、http 🍁自定义模块: 用户创建的每一个 js 文件,引用自定义模块,

    2024年02月04日
    浏览(31)
  • Node.js |(四)HTTP协议 | 尚硅谷2023版Node.js零基础视频教程

    学习视频 :尚硅谷2023版Node.js零基础视频教程,nodejs新手到高手 补充笔记 : 计算机网络|第二章:应用层 计算机网络|第四章:网络层:数据平面 Fiddler 安装fiddler 安装包下载地址 安装 配置 在 Tool 的 Options 里 ,找到HTTPS勾选 Decrypt.. ,然后同意接下来的弹窗。记得点OK!然

    2024年02月13日
    浏览(51)
  • 【第2章 Node.js基础】2.4 Node.js 全局对象(二) process 对象

    process对象是一个全局对象,提供当前Node.js 进程信息并对其进行控制。通常用于编写本地命令行程序。 process 对象是 EventEmitter 类的实例,因此可以使用事件的方式来处理和监听 process 对象的各种事件。以下是一些常用的 process 对象事件: ‘exit’:当进程即将退出时触发。可

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包