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'