NodeJS 模块加载

NodeJS 模块分为2大类,3小类

2大类(核心模块、用户自定义模块)

因为用户又可以区分为是你自己还是别人。又可以分为 自己写的模块(这里的自己写是指没有上传到NPM然后下载,就是写在项目目录里面的模块,如果你自己写的上传到NPM,然后下载,那就属于第三方的范畴),和第三方模块。第三方模块需要npm 安装。都装在node_moduels目录下,全局安装就在全局目录,局部安装就在局部(项目本身目录)

 

自己写的模块就是“文件路径形式的模块”  这类模块require的时候一定要有路径,

1,核心模块(内建模块)如果把模块想象成函数的话,就是内建函数,但NodeJS不是语言,不能直接使用,所以还是要引用一下。这类模块不需要路径(你也不知道路径,因为已经编译到了node本身),只告诉名字就可以引用。加载优先级最高(没有缓存的情况下)。

2,文件路径形式的模块  其实就是项目中自己写的模块,(就是有导出,可以外部使用的js,node,json文件)

这类模块node会根据路径(无论是相对还是绝对路径,最终都是绝对路径)去找,然后加载。所以即便是同一路径下也必须用"./" 相对路径或者 "/"绝对路径开头。既然是绝对路径,就不存在路径一层一层向上找的问题。

3,第三方模块其实和文件路径形式写的模块其实一样,但因为要不在全局Node_moduels下,要不就在项目目录里的Node_moduels里面。所以引用的时候不用写路径。加载的时候会从当前路面一层一层向上找。直到找到为止或找不到,报错。

比如:项目目录: C:\CODE\NODE\MYAPP

那就会从MYAPP目录下的NODE_MODUELS目录里面找第三方模块。如果找不到就向NODE目录下的NODE_MODUELS目录里面找,。。。一直找到C:\根目录下的NODE_MODUELS。所以这类模块加载速度慢。

开始学NODE的时候,一直以为除了核心模块就是自定义模块,所以自己写的模块,也直接用了 require(‘aaa’)结果报错。后来才发现自定义又分为 文件路径形式的模块和第三方模块之分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值