nodeJS是的模塊流程:node
第一步:建立模塊,如:student.jsui
第二步:導出模塊,如:exports.add = function(){}對象
第三步:加載模塊,如:var student = require('./student.js')it
第四步:使用模塊,如:student.add('Tika')io
來作一個簡單的學校的模塊:console
一個學校的模塊,由許多個班級組成,每一個班級都有一位老師,多名學生組成。function
準備工做:咱們就先新建一個名爲 school 的文件夾。class
思路:咱們把學校分爲不少個班級,每一個班級由一位老師和多名學生組成。咱們就把學生看做一個模塊,老師看做一個模塊,把班級也看做一個模塊。咱們這個案例從學生往上走,固然也能夠從學校往下走。require
第一步:咱們就先建立一個學生的模塊,建立一個名爲 student.js 的文件。module
在學生的模塊裏面,建一個方法:function add( student ){
console.log('Add Student:'+student);
}
建立了這個方法後,咱們還須要把這個add方法暴露出去。因而:
咱們經過一個exports對象來掛載合法的js對象。
exports.add = add;
第二步,咱們建立一個老師的模塊。嗯。老師和學生的模塊同理。因此就很少說了。建立一個名爲 teacher.js 的文件。而後編寫代碼:
function add( teacher ){
console.log('Add Teacher:'+teacher);
}
exports.add = add;
第三步:既然有了老師和學生,那麼咱們就應該有個班級來加載老師和學生,班級模塊的建立,咱們新建一個名爲 class.js 的文件。
咱們接下來須要先導入其它模塊。
var student = require('./student');
var teacher = require('./teacher');
teacher.add('Teacher');
function add(teacherName,students){
teacher.add(teacherName);
students.forEach(function(item,inex){
student.add(item);
})
}
//把屬性賦值給exports.add和賦值給module.exports是同樣的,若是,你想讓你的模塊成爲一個特別的對象類型就使用module.exports,若是是傳統模塊實例就用exports.add
exports.add = add;
//module.exports = add;
最後,建立一個名爲 index.js 的啓動模塊,先調用班級模塊。
var klass = require('./class');
在傳入參數。
klass.add('Teacher',['熊大','王二','張三','李四']);
而後就能夠在命令中執行了。
PS:若是,咱們想將模塊暴露出去,則須要修改 index.js 啓動模塊的代碼。
導入不變,接下來就進行改變。
exports.add = function(klasses){
var _klass = item;
var teacherName = item.teacherName;
var students = item.students;
klass.add('teacherName',students);
}