ndoejs主要就是把项目变成模块化在管理
第一步先创建模块 然后导出模块 然后在加载模块 最后在使用模块 创建模块也是入口的js文件 里面有特定的功能 导出模块就是把功能和模块名建立关系 加载模块就是在其它文件里引入并且加载这模块 在ndoe里使用reqiure来完成这个工作 也就是用模块名来引用模块 然后会把模块影射到对应的模块路径 最后就是使用模块 直接调用模块中设定好的方法
我们来个实例 来个学校的例子吧
创建文件
index.js 程序入口
class.js 班级
班级有学生和老师
1 .School/Student.js 学生代码
function add(Student) {
console.log("add Student "+Student)
}
//导出
exports.add = add;
2.School/Teacher.js 老师代码
function add(Teacher) {
console.log("add Teacher "+Teacher)
}
exports.add = add;
3, 创建班级 School/class.js 并导入学生和老师
var teacher = require('./Teacher');
var student = require('./Student');
// teacher.add('Scott');
function addClass(teacherName,students) {
teacher.add(teacherName);
students.forEach(function (item, index) {
student.add(item)
})
}
/*如果你希望你的模块成为传统的模块实例*/
exports.addClasss =addClass;
// module.exports= add;//是真实存才的东西
/*如果你先要你的模块成为特别的
对象类型请使用 module.exports*/
4 创建入口 School/indrx.js
var klass = require('./class');
klass.addClasss('苍老师',['陈冠右','郭富城']);
5 CD到School 启动 Node
总结
require返回一个模块对象(即刚才的exports);exports是module.exports的一个辅助方法,最终赋值给modu.exports;module.exports是最终供调用者调用的对象;如果module.exports已经有同名方法,exports上的就会被忽略;一般开发建议用exports