Node中require第三方模塊的規則
阿新 • • 發佈:2019-05-11
str hub 模塊 mage 磁盤 node.js 資料 http 是什麽
Node.js中使用CommonJs
模塊化機制,通過npm
下載的第三方包,我們在項目中引入第三方包都是:let xx = require(‘第三方包名‘)
,究竟require
方法加載第三方包的原理機制是什麽,今天我們來探討下。
require(‘第三方包名‘)
優先在加載該包的模塊的同級目錄node_modules
中查找第三方包。
let template = require('art-template') //加載第三方包
- 找到該第三方包中的
package.json
文件,並且找到裏面的main
屬性對應的入口模塊,該入口模塊即為加載的第三方模塊。
- 如果在要加載的第三方包中沒有找到
package.json
package.json
文件中沒有main
屬性,則默認加載第三方包中的index.js
文件。
- 如果在加載第三方模塊的文件的同級目錄沒有找到
node_modules
文件夾,或者以上所有情況都沒有找到,則會向上一級父級目錄下查找node_modules
文件夾,查找規則如上一致。
- 如果一直找到該模塊的磁盤根路徑都沒有找到,則會報錯:
can not find module xxx
。
只有了解清楚require()加載包的規則,才可以為以後的學習打下基礎。
後話
這篇文章出之於我的Node學習系列教程資料,如果你覺得對你有幫助的話,不妨給個star,我也會一直更新該系列教程。
Node學習教程資料:GitHub
pubdreancc原創,帶你從零開始學習Node.js
Node中require第三方模塊的規則