为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。可以当做是一个类调用另一个类
先看看模块的流程
下面一个小例子帮助学习,一个班级有一个老师和很多学生,老师打印姓名,学生打印姓名
- 基本的js模块
teacher.js:打印老师名字
function add(teacher){
console.log('Add teacher:'+teacher);
}
exports.add = add
student.js:打印学生名字
function add(student){
console.log('Add student:'+student);
}
exports.add = add //暴露的API的
2.班级js模块
klass.js:打印一个班级的老师和学生姓名
var student = require('./student')
var teacher = require('./teacher')
function add(teacherName,students){
teacher.add(teacherName)
//遍历学生数组
students.forEach(function(item,index) {
student.add(item)
});
}
exports.add = add//传统的模块实例
//module.exports = add//模块成为一个特别的对象类型,已有会忽略exports
3.打印一个班级
index.js
var klass = require('./klass')
//一个班级
//klass.add('Scott',['白富美','高富帅'])
4.运行
cmd进入index.js的目录下,输入node index.js:运行结果如图
/*************************************代码一些讲解***********************************************/
Node.js 提供了exports 和 require 两个对象
其中 exports 是模块公开的接口
require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象
例如index.js 通过require方法引入了klass.js后,就可以调用klass.js通过exports公开的add()方法