CommonJS模塊的特點:
1-> 所有代碼都運行在模塊作用域,不會污染全局作用域。
Node 應用由模塊組成,采用 CommonJS 模塊規范。
每個文件就是一個模塊,有自己的作用域。在一個文件里面定義的變量、函數、類,都是私有的,對其他文件不可見。
2-> 模塊可以多次加載,但是只會在第一次加載時運行一次,然后運行結果就被緩存了,以后再加載,就直接讀取緩存結果。要想讓模塊再次運行,必須清除緩存。
3-> 模塊加載的順序,按照其在代碼中出現的順序。
實際應用:
require 引入模塊 輸入模塊
使用方法:require('模塊名')
不指定路徑: 先找系統模塊-> 再從項目環境找node_modules|bower_components (依賴模塊)->not found
指定路徑 : 指定路徑 -> not found
require(./utils).xx 按需引用
exports 導出,批量輸出 都是屬性
exports.自定義屬性=值(any) 輸出帶接口 require(模塊文件名)=modA modA是個模塊實例{自定義屬性}
module 默認輸出 any 只能輸出一次
module.exports = {
自定義屬性:值
}
module.exports=對象/fn/class require('..')=modA modA 是一個fn或者是類class本身.
注:commonJS 是 nodejs 默認模塊管理方式,不支持es6的模塊化管理方式,但支持所有es6+語法.
