模組的分類
核心模組: 如 http
檔案模組: 如 var util = require(『./util.js』)
第三方模組: 如 var promise=require(『bluebird』)
模組的使用流程
建立模組: teacher.js
匯出模組: exports.add = function(){}
載入模組: var teacher = require(『./teacher.js』)
使用模組: teacher.add(『tom』)
require,exports 和 module
require 函式用於在當前模組中載入和使用別的模組,傳入乙個模組名,返回乙個模組匯出物件。模組名可使用相對路徑(以./開頭),或者是絕對路徑(以/ 或c: 之類的碟符開頭)。另外,模組名中的.js 副檔名可以省略。
exports 物件是當前模組的匯出物件,用於匯出模組公有方法和屬性。別的模組通過 require 函式使用當前模組時得到的就是當前模組的 exports 物件。
module 物件可以訪問到當前模組的一些相關資訊,但最多的用途是替換當前模組的匯出物件。例如模組匯出物件預設是乙個普通物件。
模組初始化
乙個模組中的 js **僅在模組第一次被使用時執行一次,並在執行過程中初始化模組的匯出物件。之後,快取起來的匯出物件被重複利用。
使用舉例
我們假設有乙個學校,學校裡有班級,老師,學生等成員。我們可以把班級,老師,學生先模組化再整合在一起。
老師模組: teacher.js
function
add(teacher)
exports.add = add;
學生模組: student.js
function
add(student)
exports.add = add;
班級模組: class.js
var student = require('./student');
var teacher = require('./teacher');
function
add(teachername,students))
} exports.add=add; //使模組成為傳統的模組例項
//使模組成為特別的物件型別
新建乙個測試檔案:index.js
var c = require('./class');
c.add('scot',['高富帥','白富美'])
這時候再命令列下輸入:node index
就會列印輸出如下資訊:
add teacher scotadd student 高富帥
add student 白富美
Nodejs模組介紹
1.模組系統 require 引入模組,返回乙個物件 module 指代當前的模組物件 module.exports 當前模組的匯出物件 exports 指代module.exports filename 當前模組的絕對目錄和模組名稱 dirname 當前模組的絕對目錄 2.模組引入 以路徑開頭 不...
nodejs中events模組的使用
講events之前我們先用js模擬實現乙個eventemitter類 原始碼 訂閱者集合 class eventemitter 訂閱機制 on name,newlistener this listener name push newlistener 發布機制 emit name let myemit...
nodejs中的模組
nodejs中的模組管理遵循commonjs規範。使用module.exports 可簡寫為exports 匯出模組,使用require來引入模組。例 mymodule.js var myfunction function name module.exports myfunction 也可也成exp...