返回顶部
首页 > 资讯 > 前端开发 > node.js >Node.js运行时由哪些模块组成
  • 556
分享到

Node.js运行时由哪些模块组成

2024-04-02 19:04:59 556人浏览 薄情痞子
摘要

本篇内容主要讲解“node.js运行时由哪些模块组成”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node.js运行时由哪些模块组成”吧!

本篇内容主要讲解“node.js运行时由哪些模块组成”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习node.js运行时由哪些模块组成”吧!

nodejs是基于Chrome javascript运行时建立的一个平台,是让JavaScript可以运行在服务端的开发平台,主要用于方便地搭建响应速度快、易于扩展的网络应用。

Node.js运行时由哪些模块组成

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

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,是 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHPpython、Perl、Ruby等服务端语言平起平坐的脚本语言。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

Node.js用于方便地搭建响应速度快、易于扩展的网络应用。

运行时是什么?

所谓运行时,就是程序在运行期间需要依赖的一系列组件或者工具;把这些工具和组件打包在一起提供给程序员,程序员就能运行自己编写的代码了。

对于 JavaScript 来说,它在运行期间需要依赖以下组件:

1) 解释器

JavaScript 是一种脚本语言,需要一边解释一边运行,用到哪些源代码就编译哪些源代码,整个过程由解释器完成。没有解释器的话,JavaScript 只是一堆纯文本文件,不能被计算机识别。

2) 标准库

我们在 JavaScript 代码中会调用一些内置函数,这些函数不是我们自己编写的,而是标准库自带的。

3) 本地模块

所谓本地模块,就是已经被提前编译好的模块,它们是二进制文件,和可执行文件在内部结构上没有什么区别,只是不能单独运行而已。这些本地模块其实就是动态链接库(在 Windows 下是 .dll 文件),如果你使用过C语言c++ 等编译型语言,那你应该能够更好地理解它。

JavaScript 的很多功能都需要本地模块的支持,比如:

  • Cookie 用于存储少量的用户数据,它是用户计算机上的一种小文件,使用 Cookie 必须有文件操作模块的支持。

  • ajax 可以借助互联网服务器请求数据,这是一种网络操作,必须有网络库的支持。

  • 一步一步跟踪代码的执行流程,从中发现逻辑错误,这个过程叫做调试,需要有调试器(Debugger)的支持。

  • JavaScript 可以操作 html,这需要 HTML 解析模块提前构建起 DOM 树。

本地模块一般封装了通用功能,对性能要求较高,所以通常使用编译型语言来实现,比如C语言、C++、汇编语言等。

JavaScript 解释器需要本地模块的支持,标准库在编写时也会调用本地模块的接口,而我们编写的 JavaScript 代码一般不会直接使用本地模块,所以 WEB 前端程序员触及不到它们。

本地模块是幕后英雄,它不显山露水,但是又不可或缺。

总结

解释器、标准库、本地模块等各种组件/工具共同支撑了 JavaScript 代码的运行,它们统称为 JavaScript 运行时。

在 Node.js 之前,JavaScript 运行时被绑定在浏览器中,作为浏览器的各种模块出现。这意味着,要想运行 JavaScript 代码就必须启动浏览器,JavaScript 逃不出浏览器的手掌心,它的功能受到很大的限制,只能作为网页脚本使用。

Node.js 的组成

Node.js 运行时主要由 V8 引擎、标准库和本地模块组成,尤其是本地模块的多少,从底层决定了 Node.js 功能的强弱。

1) V8 引擎

V8 引擎就是 JavaScript 解释器,它负责解析和执行 JavaScript 代码。

V8 引擎借鉴了 Java 虚拟机和 C++ 编译器的众多技术,它将 JavaScript 代码直接编译成原生机器码,并且使用了缓存机制来提高性能,这使得 JavaScript 的运行速度可以媲美二进制程序。

2) 本地模块

Node.js 集成了众多高性能的开源库,它们使用 C/C++ 语言实现,比如:

              模块              说明
              libuv              一个跨平台的、基于事件驱动的异步 I/O 库。但是 libuv 不仅限于 I/O,它还提供了进程管理、线程池、信号处理、定时器等其它功能。

linux 中一切皆文件,这里的 I/O 不仅仅包括文件读写,还包括数据库读写、网络通信(Socket)等。
              nmp              Node.js 包管理器,可以下载包、安装包、卸载包、更新包、上传包等。
              Http_parser              一款由C语言编写的轻量级 HTTP 解析器,用以支持 Web 应用开发。
              zlib              工业级的数据压缩/解压模块,Nodejs 借助 zlib 来创建同步、异步或者流式的压缩/解压接口。
              OpenSSL              该模块提供了经过严密测试的许多加密/解密功能,现代 Web 依赖这些功能来实现安全性,比如 SSL 协议和 https 协议。
              c-ares              异步 DNS 查询和解析库。

Node.js 直接在计算机上运行 JavaScript 代码,并且要赋予 JavaScript 强大的能力,所以它的本地模块和浏览器中的运行时有很多大区别,甚至说几乎没有什么关联。Node.js 几乎完全抛弃了浏览器,自己从头构建了一套全新的 JavaScript 运行时。

3) 标准库

本地模块使用 C/C++ 编写,而 Node.js 面向 JavaScript 开发人员,所以必须要封装本地模块的 C/C++ 接口,提供一套优雅的 JavaScript 接口给开发人员,并且要保持接口在不同平台(操作系统)上的一致性。

这套 JavaScript 接口,就是 Node.js 标准库。标准库是否优雅和强大,决定了 Node.js 的易用性,直接影响 Node.js 的市场表现。

到此,相信大家对“Node.js运行时由哪些模块组成”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Node.js运行时由哪些模块组成

本文链接: https://lsjlt.com/news/88705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js运行时由哪些模块组成
    本篇内容主要讲解“Node.js运行时由哪些模块组成”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js运行时由哪些模块组成”吧! ...
    99+
    2024-04-02
  • node.js核心模块有哪些
    目录全局对象全局对象与全局变量processconsole常用工具util事件机制events--Events模块事件发射器error事件文件系统fs--fs模块Http 模块全局对...
    99+
    2024-04-02
  • Hadoop栈由哪些组件组成
    本篇内容介绍了“Hadoop栈由哪些组件组成”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、Hadoop生态体系 Hadoop 是一个分...
    99+
    2023-06-02
  • javascript由哪些部分组成
    这篇文章主要讲解了“javascript由哪些部分组成”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript由哪些...
    99+
    2024-04-02
  • Node.js内置模块的运行机制是什么
    今天小编给大家分享一下Node.js内置模块的运行机制是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。内置模块一些栗子F...
    99+
    2023-07-04
  • web抽象工厂模式由哪些部分组成
    这篇文章主要介绍“web抽象工厂模式由哪些部分组成”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web抽象工厂模式由哪些部分组成”文章能帮助大家解决问题。结构下图为抽象工厂模式的类图。这个类图和前面...
    99+
    2023-06-19
  • Node.js的组成部分有哪些
    本篇文章给大家分享的是有关Node.js的组成部分有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们先了解下Node.js应用是由哪几部...
    99+
    2024-04-02
  • html页面由哪些部分组成
    这篇文章主要介绍“html页面由哪些部分组成”,在日常操作中,相信很多人在html页面由哪些部分组成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html页面由哪些部分组成”...
    99+
    2024-04-02
  • javascript事件由哪些部分组成
    这篇文章主要介绍“javascript事件由哪些部分组成”,在日常操作中,相信很多人在javascript事件由哪些部分组成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ja...
    99+
    2024-04-02
  • CSS规则由哪些部分组成
    这篇文章主要讲解了“CSS规则由哪些部分组成”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS规则由哪些部分组成”吧! CSS 规则由两个主要的部分构成...
    99+
    2024-04-02
  • php数组由哪些部分构成
    这篇文章主要介绍“php数组由哪些部分构成”,在日常操作中,相信很多人在php数组由哪些部分构成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php数组由哪些部分构成”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-30
  • node.js缺少mysql模块运行报错的解决方法
    发现问题 在用node.js连接数据库,运行报错:cannot find module 'mysql; 然后 在管理员和用户下分别用npm安装数据库但是都是失败: 解决方法 按照错误日志应该是找不到文件夹...
    99+
    2022-06-04
    报错 解决方法 模块
  • PHP有哪些运行模式
    这篇文章将为大家详细讲解有关PHP有哪些运行模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。运行模式:1、CGI协议模式,服务器通过特定协议与程序通信;2、“fast-cgi”协议模式,开启后可一直处理...
    99+
    2023-06-14
  • Node.js中的常见内置模块有哪些
    本篇内容主要讲解“Node.js中的常见内置模块有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的常见内置模块有哪些”吧!内置模块path路...
    99+
    2024-04-02
  • 完整的JavaScript由哪些部分组成
    本篇内容介绍了“完整的JavaScript由哪些部分组成”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 主机域名由哪些部分组成
    主机域名由以下几个部分组成:1. 主机名:表示特定主机的名称,可以是数字、字母或短横线的组合。2. 二级域名:表示主机所在的组织或公...
    99+
    2023-06-15
    主机域名 域名 主机
  • oracle数据库由哪些文件组成
    oracle 数据库由多个文件组成,包括数据文件(存储实际数据)、撤销日志文件(记录事务操作)、归档日志文件(存储撤销日志副本)、联机重做日志文件(记录数据库更改)、控制文件(存储数据库...
    99+
    2024-05-11
    oracle
  • python时间处理模块有哪些
    python中有以下几种时间处理模块time模块time模块提供了大量对时间进行处理的方法,其中包括获取时间戳、获取本地时间、格式化输出时间等功能。datetime模块datetime模块提供了各种类用于操作日期和时间,该模块侧重于高效率的...
    99+
    2024-04-02
  • php中有哪些运行模式
    本篇文章给大家分享的是有关php中有哪些运行模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开...
    99+
    2023-06-14
  • Tomcat的运行模式有哪些
    Tomcat的运行模式有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。tomcat的运行模式有3种一、bio(blocking I/O)即阻塞式I/O操作,表示Tomcat...
    99+
    2023-05-31
    tomcat omc tomca
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作