在Node中主要經過三個東西實現模塊化開發:node
require
.exports
Node中的模塊化主要是爲了解決JS文件之間的相互依賴關係npm
Node有三部分組成:ECMAScript + 核心API + 第三方包json
const XXX = require("XXX");
複製代碼
什麼是第三方模塊: 除了官方提供的核心模塊以外,咱們在平常開發中也許還有一些使用頻率很高的功能代碼.而這些功能就被一些厲害的團隊、我的、公司打包成可複用的模塊.並經過NPM官網託管出去,供其餘人下載使用.緩存
如何使用第三方模塊:bash
**注意:**不管是核心模塊仍是第三方模塊,都是經過 標識符名稱 來引用這個模塊的.異步
.
的形式追加屬性,也可使用 =
直接賦值的形式導出成員.
的形式追加屬性,不能使用 =
直接賦值的形式module.exports
指向的對象爲準.module.exports
和exports
.優先從緩存中加載模塊化
index -> index.js -> index.json -> index.node
複製代碼
node_modules
這個文件夾.node_modules
文件夾中有沒和第三方模塊名稱一致的文件夾.package.json
這個文件package.json
文件中查找有沒有main
屬性.main
屬性,而且main
屬性指向的路徑存在,那麼就嘗試加載這個路徑指定的文件package.json
文件中,沒有main
屬性,或者main
屬性指向的路徑不存在,或者乾脆就沒有package.json
文件.那麼,就會嘗試加載模塊根目錄中的index
相關文件:index.js -> index.json -> index.node
node_modules
文件中找不到對應的模塊文件夾,或者在項目根目錄中就沒有node_modules
這個文件夾.則會向上一層的文件夾中查找,查找規則同上.cannot find module ***
common.js
,其特色是有所的依賴項同步加載.common.js
因爲是一個同步加載規範,因此不適合瀏覽端使用.因而瀏覽端有了異步模塊加載機制AMD規範.個人我的網址: wangyiming.infoui