node模块示例
来源于慕课网课程:http://www.imooc.com/video/6701 (视频)
模块的流程图如下:

function add(student){
console.log("add student:"+student);
}
//暴露公开api
exports.add = add;
function add(teacher){
console.log("add teacher:"+teacher);
}
//暴露公开api
exports.add = add;
// 导入老师学生模块
var student = require('./student');
var teacher = require('./teacher'); // 指定一个老师
teacher.add('Scott'); // 添加两个学生
student.add('白富美');
student.add('高富帅');
function add(teacherName,students){
teacher;
students.forEach(function(item,index){
student.add(item);
});
} // 暴露公开api
exports.add = add;
// 导入班级模块
var klass = require('./klass'); // 把学校暴露出去,传入班级
exports.add = function(klasses){
// 遍历班级
klasses.forEach(function(item,index){
var _klass = item; //拿到具体班级
var teacherName = item.teacherName;// 拿到老师名字
var students = item.students; // // 拿到学生名字
klass.add(teacherName,students);
});
};
// klass.add('Scott',['白富美','高富帅']);

到此为止学校这个模块就完成了。
node模块示例的更多相关文章
- node模块加载层级优化
模块加载痛点 大家也或多或少的了解node模块的加载机制,最为粗浅的表述就是依次从当前目录向上级查询node_modules目录,若发现依赖则加载.但是随着应用规模的加大,目录层级越来越深,若是在某个 ...
- node模块系统常用命令
node模块系统常用命令 命令 示例 备注 安装模块 npm install commander 最新版本 npm install commander@1.0.0 指定版本 npm install c ...
- RabbitMQ Node.js 示例
RabbitQM 处理和管理消息队列的中间人(broker).可简单理解为邮局,你在程序中写好消息,指定好收件人,剩下的事件就是 RabbitMQ 的工作了,它会保证收件人正确收到邮件. 任何发送邮件 ...
- Commonjs规范及Node模块实现
前面的话 Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于java ...
- 模块机制 之commonJs、node模块 、AMD、CMD
在其他高级语言中,都有模块中这个概念,比如java的类文件,PHP有include何require机制,JS一开始就没有模块这个概念,起初,js通过<script>标签引入代码的方式显得杂 ...
- NW.js安装原生node模块node-printer控制打印机
1.安装原生node模块 #全局安装nw-gyp npm install -g nw-gyp #设置目标NW.js版本 set npm_config_target=0.31.4 #设置构建架构,ia3 ...
- 深入了解Node模块原理
深入了解Node模块原理 当我们编写JavaScript代码时,我们可以申明全局变量: var s = 'global'; 在浏览器中,大量使用全局变量可不好.如果你在a.js中使用了全局变量s,那么 ...
- 【转】Commonjs规范及Node模块实现
前言: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javas ...
- [转]模块化——Common规范及Node模块实现
Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javascrip ...
随机推荐
- c++ template不能有cpp
c++的template只能把生命和定义都放在.h文件里,不然会出错
- ballerina 学习十一 Packages
ballerina 的包还是比较简单的,实际上就是对于源码文件集合的管理,同时我们可以添加别名,同时可以进行 其他包的引用 import 简单例子 代码 import ballerina/math; ...
- jest js 测试框架-简单方便人性化
1. 安装 yarn global add jest-cli or npm install -g jest-cli 备注:可以安装为依赖不用全局安装 2. 项目代码 a. 项目初始化 yarn ini ...
- DZ X3 和 ECshop 通过uc_server实现会员同步整合教程.
会员数据整合是实现商城和论坛系统共享会员数据.论坛系统注册会员整合后可直接在商城登陆.现以本人社区为例.本人社区采用DZ最新的X3.1 商城采用的ECshop最近的V2.7.3 现在想把两个模板整合在 ...
- How to install torcs package in Debian
Installation instructions Installing torcs package in Debian Wheezy is as easy as running: 没想到在debia ...
- HDFS(三)
DataNode 下面的数据文件有两种类型,一种是数据块,一种是数据块的描述文件(元数据文件),后者文件后面带有.meta后缀: Version文件字段内容其实和NameNode里面涵义是一致的: 安 ...
- laravel的blade模板的布局嵌套
测试路由 Route::get('/', function() { $value = [,,]; return view('home.index', array('data' => $value ...
- Python中的Bunch模式
引用: 当树这样的数据结构被原型化(或者乃至于被定型)时,它往往会时一个非常有用而灵活的类型,允许我们在其构造器中设置任何属性.在这些情况下,我们会需要用到一种叫做“Bunch”的设计模式. clas ...
- Vue踩坑记录册
1.vue-cli+webpack项目 修改项目名称 解决办法: 1 删除 node_modules 文件夹(如果修改项目名称,需要在在package.json中修改对应的name) 2 重新安装依赖 ...
- mysql 实现row_number,获取上一条,下一条
代码思路如下: select *,(@row_num:=@row_num+1) as row_no from stc_output,(select(@row_num:=0)) b; select * ...