Node.js模块化机制,使用npm下的第三方包,我们在项目中引入第三方包:let x= require(“包名”) ,那么require方法加载第三方包的原理是什么呢?
1.require(“包名”) 优先在加载该包的模块的同级目录node_modules
中找第三方包
举例jquery:
let $ = require("jquery")
- 引入 jquery,去
node_modules
目录下找jquery
- 找到后,在
jquery
目录下找package.json
- 在
package.json
里找main
属性, - 根据属性找
jquery
的地址
提示
-
若引入的包,不在
node_modules
里,则会向上一层查找,还没有继续向上一层查找,一直找到磁盘根目录,还是没找到就会报错:Error: Cannot find module 'jquery111'