02慕课网《进击Node.js基础(一)》——CommonJs标准

是一套规范管理模块

每个js 为一个模块,多个模块作为一个包

node.jsCouchdb是对其的实现;

不同于jQuery

模块:定义、标识、引用(地址/模块名称)

模块类型:

核心模块http fs path

文件模块var util=require(‘./util.js’)

第三方模块npm  var promise=require(‘bluebird’)

模块的流程:

创建模块 teacher.js  function foo(){}

导出模块 exports.add=function(){}  foo

加载模块 另一个js文件var teacher=require(‘./teacher.js’)

使用模块 teacher.add(‘wangcf’)

 

源码:

student.js

function add(student){
    console.log('Add Student: ' + student)
}
//通过expots对象暴露方法
exports.add=add

 teacher.js

function add(teacher){
    console.log('Add Teacher: ' + teacher)
}
//通过expots对象暴露方法
exports.add=add

 

klass.js

//require引用模块
var student = require('./student')
var teacher = require('./teacher')

function add(teacherName,students){
    teacher.add(teacherName)
    
    students.forEach(function(item,index){
        student.add(item);
    })
    
}
///两者作用相同
//传统的模块实例,是module.exports的辅助方法
exports.add = add
//有这个会忽略exports特别的对象类型,真实存在的东西
//module.exports = add

 

index.js

var klass = require('./klass');

klass.add("教师",['学生1','学生2'])

exports.add = function(klasses){
    klasses.forEach(function(item,index){
        var _klass = item;
        var teacherName = item.teacherName;
        var students = item.students;
        
        klass.add(teacherName,students)
    })
}

 

posted @ 2018-05-02 18:47  言凡  阅读(211)  评论(0编辑  收藏  举报