专栏首页前端学习笔记Node.js中模块加载机制

Node.js中模块加载机制

1. 模块查找规则-当模块拥有路径但没有后缀时

require(' ./find.js') ; require(' ./find') ;

  1. require方法根据模块路径查找模块,如果是完整路径。直接引入模块。
  2. 如果模块后缀省略,先找同名JS文件再找同名JS文件夹
  3. 如果找到了同名文件夹,找文件夹中的index.js
  4. 如果文件夹中没有index.js就会去当前文件夹中的package.json文件中查找main选项中的入口文件
  5. 如果找指定的入口文件不存在或者没有指定入口文件就会报错,模块没有被找到

2. 模块查找规则-当模块没有路径且没有后缀时

require(' find') ;

  1. Node.js会假设它是 系统模块
  2. Node.js会去node_ modules文件夹中
  3. 首先看是否有该名字的JS文件
  4. 再看是否有该名字的文件夹
  5. 如果是文件夹看里面是否有indexjs
  6. 如果没有index.js查看该文件夹中的package.json中的main选项确定模块入口文件
  7. 否则找不到报错

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第三方模块

    写好的、具有特定功能的、我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包。

    清出于兰
  • Node.js模块化开发

    一个功能就是一个模块, 多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。

    清出于兰
  • 2D变形(CSS3)

    transform是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、倾斜、缩放,甚至支持矩阵方式,配合过渡和即将学习的动画知识,可以取代大量之前只能靠...

    清出于兰
  • JS模块化概念理解 原

    后来有人尝试用对象的方式来书写逻辑模块,但是这种写法有自己的弊端,比如这样的写法暴露了所有的模块成员,模块中的属性有被外部代码更改的风险。

    lilugirl
  • 《密码模块安全要求》与《密码模块安全检测要求》

    信安标委最近对大量的信息安全行业规范进行征集意见,3月份的时候安智客介绍过行业标准密码模块安全安全要求,不过这个标准现在上升到了国家标准,说明很重要!安智客今天...

    安智客
  • HTTP 状态码汇总

    400 Bad request(错误请求) 401.1 Logon failed(登录失败) 401.2 Logon failed due to serve...

    苦咖啡
  • 轻松使用8266

    今天算是做好了板子啦!做了一块直接用串口配置8266的板子,,也可以无线配置,配置完一次,上电自动运行...这篇文章也是写给一个朋友看的,朋友的项目做了很长时间...

    杨奉武
  • asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档

    开局一张图,然后开始编,一些基本的asp.net core东西就不再赘述,本文只对Swashbuckle.AspNetCore的几个使用要点进行描述。

    易墨
  • 从 rollup 初版源码学习打包原理

    为了学习 rollup 打包原理,我克隆了最新版(v2.26.5)的源码。然后发现打包器和我想像的不太一样,代码实在太多了,光看 d.ts 文件就看得头疼。为了...

    谭光志
  • Enumerable#Zip 实现一下

    早上看到“geff Zhang”介绍了Enumerable#Zip,闲来没事弄一个实现。 也谈不上思路,看了张兄的测试代码,先写了个简单的结构: public ...

    脑洞的蜂蜜

扫码关注云+社区

领取腾讯云代金券