Node.js基础---加载机制

模块的加载机制

1. 优先成缓存中加载

        模块在第一次加载后会被缓存,意味着多次调用 require() 不会导致模块代码被多次执行

        注意:无论是什么模块都会优先从缓存内加载,以提高加载效率

2. 内置模块的加载机制

        内置模块是 Node.js官网提供的模块,其加载优先级最高

3. 自定义模块的加载机制

        必须以  ./ 或 ../ 开头的路径标识符,如果没有,则node 会当成内置模块或第三方模块加载

        如果省略文件的扩展名,Node.js会按顺序分别尝试加载以下的文件

        

4. 第三方模块的加载机制

        如果传递的是第三方模块(不是内置模块,也没有以 ./ 开头),则会从当前模块的父目录开始尝试从 /node_modulles 文件夹中加载第三模块

        如果没有找到对应的第三方模块,则移动到再上一层父目录中进行加载,直到文件系统的根目录

        

5. 目录作为模块

        当把目录作为模块标识符,传递给 require() 进行加载的时候,有三种加载方式

        1. 在被加载的目录下找 package.json 的文件,并找 main 属性,作为 require() 加载入口

        2. 如果没有,或者main不存在或无法解析,则会试图加载目录下的 index.js 文件

        3. 如果以上两步都失败了,则会打印错误消息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708781.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构·顺序表实现通讯录

目录 1 基本格式 2 结构体的声明 3 初始化 销毁 扩容 插入 删除 4 增加联系人 5 查看通讯录 6 删除联系人 7 查找联系人 8 修改联系人 9 整体代码 引言: 有了前面顺序表的基础,我们可以尝试利用顺序表实现通讯录,日常使用中&#x…

【论文阅读】微纳米气泡技术作为CO2-EOR和CO2地质储存技术的新方向:综述

Micro and nanobubbles technologies as a new horizon for CO2-EOR and CO2 geological storage techniques: A review 微纳米气泡技术作为CO2-EOR和CO2地质储存技术的新方向:综述 期刊信息:Fuel 2023 期刊级别:EI检索 SCI升级版工程技术1区…

【LeetCode-简单】69.x的平方根 + 367.有效的完全平方数 - 二分法

力扣题目链接 给定非负整数x,求x的算数平方根(只保留整数部分) 这个问题可以看成在区间 [0, x) 中寻找一个整数 target 使得 target * target 趋近于x 采用二分法,排除0与1这两个特殊情况后(不排除则left 0, right…

Python实现时间序列分析进行平稳性检验(ADF和KPSS)和差分去趋势(adfuller和kpss算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中的平稳性检验是评估一个时间序列是否具有稳定的均值和方差。在经济学、金融学以及其他诸…

麒麟OS:操作系统国家队

这是ren_dong的第31篇原创 1、中标软件 中标软件:国产操作系统龙头 中标软件有限公司成立于2003 年,是国产自主操作系统和办公软件产品提供商,拥有 国防、民用两方面的相关企业与产品资质,是安全操作系统旗舰企业。 中标软件的主要…

飞天使-学以致用-devops知识点3-安装jenkins

文章目录 构建带maven环境的jenkins 镜像安装jenkinsjenkins yaml 文件安装插件jenkins 配置k8s创建用户凭证 构建带maven环境的jenkins 镜像 # 构建带 maven 环境的 jenkins 镜像 docker build -t 192.168.113.122:8858/library/jenkins-maven:jdk-11 .# 登录 harbor docker …

解读人工智能的理论基石

1956年的一个夏天,在达特茅斯学院的一个小会议室里,一群充满好奇和野心的年轻科学家聚集在一起,他们有一个共同的梦想:创造能够模仿人类智能的机器。这不仅仅是科幻小说的情节,更是人工智能历史上一个真实的起点。从那…

基于JAVA的毕业生追踪系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登陆注册模块2.2 学生基本配置模块2.3 就业状况模块2.4 学历深造模块2.5 信息汇总分析模块2.6 校友论坛模块 三、系统设计3.1 用例设计3.2 实体设计 四、系统展示五、核心代码5.1 查询我的就业状况5.2 初始化就业状况5.…

防御保护:防火墙内容安全

一、IAE(Intelligent Awareness Engine)引擎 二、深度检测技术(DFI和DPI) 1.DPI – 深度包检测技术 DPI主要针对完整的数据包(数据包分片,分段需要重组),之后对数据包的内容进行识别。&#x…

微服务 人工智能AI 物联网智慧工地云平台源码

目录 ​编辑 智慧工地架构 智慧工地系统 智慧工地云平台功能模块 1、基础数据管理 2、考勤管理 3、安全隐患管理 4、视频监控 5、塔吊监控 6、升降机监控 7、移动端数据推送 智慧工地管理平台子系统构成 智慧工地物联网解决方案,对工地施工安全人员、设…

2024.2.28 训练记录(3)

还有个扫描线单调栈树状数组的没有完全搞懂今天不写,晚上vp了下昨天的div3,绝佳的上分机会居然没打,好顺手的A-E。。。 洛谷 P1050 [NOIP2005 普及组] 循环 题目链接 按位来看,先看最后一位,假设乘x次循环&#xff…

引入本地图片报错:require is not defined

文章目录 问题分析1. 原始写法2. 最初的解决方案3. 尝试使用 require 引入4. 封装方法进行解析引入图片 问题 Vue3 Vite 使用本地图片报错:require is not defined 分析 1. 原始写法 刚开始我是这样写的,数据是这样定义的,但是数据没出…

【Linux深入剖析】再续环境变量 | 进程地址空间

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.环境变量再续1.1 和…

FX110网:外汇交易中的隔夜利息该如何计算?

在交易过程中,我们经常能够听到 “隔夜利息”这个词,但不少新手依然不是很明白这个专业名词的意思。今天小编帮助大家理解这个概念。“隔夜利息”的含义 顾名思义,是根据持仓总数计算的每日可赚取或需支付的利息。每个货币都有他们自己的基准…

蓝桥杯备赛第三篇(图论)

1.邻接表 static class Edge {int next;int value;public Edge(int next, int value) {this.next next;this.value value;}}static HashMap<Integer, LinkedList<Edge>> graph new HashMap<>();public static void addEgde(int from, int to, int value) …

贝叶斯优化双向门控循环单元BO-BIGRU时序预测的matlab实现【源代码】

贝叶斯优化双向门控循环单元简介&#xff1a; 贝叶斯优化双向门控循环单元&#xff08;BO-BIGRU&#xff09;是一种结合了贝叶斯优化和双向门控循环单元&#xff08;BIGRU&#xff09;的神经网络模型。BIGRU是一种改进的循环神经网络&#xff08;RNN&#xff09;&#xff0c;它…

go语言通过切片实现先进后出逻辑

目录 一、go语言的通道: 二、go语言实现先进后出: 一、go语言的通道: Go的通道(Channel)是先进先出(FIFO)的数据结构,它保持了发送数据和接收数据的顺序。当你向通道发送数据时,数据会被放入通道的尾部;而从通道接收数据时,会从通道的头部取出数据。这确保了数据的…

现代信号处理学习笔记(二)参数估计理论

参数估计理论为我们提供了一套系统性的工具和方法&#xff0c;使我们能够从样本数据中推断总体参数&#xff0c;并评估估计的准确性和可靠性。这些概念在统计学和数据分析中起着关键的作用。 目录 前言 一、估计子的性能 1、无偏估计与渐近无偏估计 2、估计子的有效性 两个…

Python入门到精通(九)——Python数据可视化

Python数据可视化 一、JSON数据格式 1、定义 2、python数据和JSON数据转换 二、pyecharts 三、折线图 四、地图 五、动态柱状图 一、JSON数据格式 1、定义 JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据JSON本质上是一个带有特定格式的字符…

小程序 API 能力汇总——TYML NodesRef API

NodesRef 用于获取 TYML 节点信息的对象 方法 SelectorQuery NodesRef.fields(Object fields, NodesRef.FieldsCallback callback) 获取节点的相关信息。需要获取的字段在 fields 中指定。返回值是 nodesRef 对应的 selectorQuery SelectorQuery NodesRef.boundingClientR…