require加載第三方包的規則

Node.js中使用CommonJs模塊化機制,通過npm下載的第三方包,我們在項目中引入第三方包都是:
let xx = require('第三方包名')
究竟require方法加載第三方包的原理機制是什麼,今天我們來探討下。

  1. require('第三方包名')優先在加載該包的模塊的同級目錄node_modules中查找第三方包。
let template = require('art-template') //加載第三方包
  1. 找到該第三方包中的package.json文件,並且找到裏面的main屬性對應的入口模塊,該入口模塊即爲加載的第三方模塊。
  2. 如果在要加載的第三方包中沒有找到package.json文件或者是package.json文件中沒有main屬性,則默認加載第三方包中的index.js文件。
  3. 如果在加載第三方模塊的文件的同級目錄沒有找到node_modules文件夾,或者以上所有情況都沒有找到,則會向上一級父級目錄下查找node_modules文件夾,查找規則如上一致。
  4. 如果一直找到該模塊的磁盤根路徑都沒有找到,則會報錯:can not find module xxx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章