1. 程式人生 > >Node中require第三方模塊的規則

Node中require第三方模塊的規則

str hub 模塊 mage 磁盤 node.js 資料 http 是什麽

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

  1. require(‘第三方包名‘)優先在加載該包的模塊的同級目錄node_modules中查找第三方包。
let template = require('art-template') //加載第三方包

技術分享圖片

  1. 找到該第三方包中的package.json文件,並且找到裏面的main屬性對應的入口模塊,該入口模塊即為加載的第三方模塊。

技術分享圖片

  1. 如果在要加載的第三方包中沒有找到package.json
    文件或者是package.json文件中沒有main屬性,則默認加載第三方包中的index.js文件。

技術分享圖片

  1. 如果在加載第三方模塊的文件的同級目錄沒有找到node_modules文件夾,或者以上所有情況都沒有找到,則會向上一級父級目錄下查找node_modules文件夾,查找規則如上一致。

技術分享圖片

  1. 如果一直找到該模塊的磁盤根路徑都沒有找到,則會報錯:can not find module xxx

技術分享圖片

只有了解清楚require()加載包的規則,才可以為以後的學習打下基礎。

後話

這篇文章出之於我的Node學習系列教程資料,如果你覺得對你有幫助的話,不妨給個star,我也會一直更新該系列教程。

Node學習教程資料:GitHub

pubdreancc原創,帶你從零開始學習Node.js

Node中require第三方模塊的規則