当前位置: 首页 > news >正文

前端 JS 经典:node 的模块查找策略

前言:我们引入模块后,node 大概的查找步骤分为 文件查找、文件夹查找、内置模块查找第三方模块查找,在 node 中使用 ESM 模块语法,需要创建 package.json 文件,并将 type 设置为 module。简单起见,我们用 CommonJs 模块语法,查找策略一样。

1. 文件/文件夹 查找

什么时候触发文件查找勒,node 会分析你的引用路径,发现我们引入模块使用绝对路径或者相对路径时。它会进入文件查找逻辑,根据路径去查找文件,如果没有 a 文件,会自动查找后缀名是 js 或 json 的同名文件

如果文件查找没找到,就会进入文件夹的模式,找到同名文件夹,如果文件夹里有 package.json 文件,根据文件中的 main 指向找到对应文件,如果没有 main 或者 main 字段没找到相应文件,就会找文件夹下的 index.js 文件。

import a from "/a";
// or
import a from "./a";
// or
import a from "../a";

2. 内置模块/第三方模块 查找

什么时候触发内置模块的查找呢,就是引入的路径直接以字符开头,node 就会进入内置模块和第三方模块查找,如果是内置模块,会直接拿到结果。

如果不是内置模块,会进入第三方模块查找。找到当前目录下的 node_modules 目录,在这个目录下找模块,如果在这个目录下没找到,又会进入文件/文件夹查找逻辑。如果当前目录没有 node_modules 它会往上级目录去找,直到找到这个系统的根目录。还找不到的话,就真找不到了。

// 内置模块
import fs from "fs";// 第三方模块
import vue from "vue";

http://www.lryc.cn/news/370956.html

相关文章:

  • C++中的23种设计模式
  • vue.js+node.js+mysql在线聊天室源码
  • 浏览器无痕模式和非无痕模式的区别
  • WPF框架,修改ComboBox控件背景色 ,为何如此困难?
  • Diffusers代码学习: 文本引导深度图像生成
  • 网络的下一次迭代:AVS 将为 Web2 带去 Web3 的信任机制
  • OpenCV 的模板匹配
  • 26.0 Http协议
  • IO流打印流
  • Cohere reranker 一致的排序器
  • MySQL系列-语法说明以及基本操作(二)
  • 【STM32】步进电机及其驱动
  • Excel自定义排序和求和
  • 若依RuoYi-Vue分离版—免登录直接访问
  • java基础知识漏洞记录一
  • html的网页制作代码分享
  • 【PIXEL】2024年 Pixel 解除 4G限制
  • C#、C++、Java、Python 选择哪个好?
  • 爬虫补环境,ES6 Class在环境模拟中的应用与优势
  • linuxcentos将本地库JAR/arr批量导入到Nexus3.x
  • js之操作元素属性和定时器以及相关案例倒计时
  • 高考计算机专业 热门专业方向
  • 《web应用技术》第十一次作业
  • Scala学习笔记11: 操作符
  • 项目五串行通信系统 任务5-3温度信息上传
  • 前端 JS 经典:统一 Vite 中图片转换逻辑
  • DOM-获取元素
  • 【安装笔记-20240612-Linux-内网穿透服务之cpolar极点云】
  • Java 泛型与集合的深入解析:原理、应用与实践
  • Oracle 数据库的自动化工具:AWR 和 ASM