nodeJS是的模块流程:

第一步:创建模块,如:student.js

第二步:导出模块,如:exports.add = function(){}

第三步:加载模块,如:var student = require('./student.js')

第四步:使用模块,如:student.add('Tika')

来做一个简单的学校的模块:

一个学校的模块,由许多个班级组成,每个班级都有一位老师,多名学生组成。

准备工作:我们就先新建一个名为 school 的文件夹。

思路:我们把学校分为很多个班级,每个班级由一位老师和多名学生组成。我们就把学生看作一个模块,老师看作一个模块,把班级也看作一个模块。我们这个案例从学生往上走,当然也可以从学校往下走。

第一步:我们就先创建一个学生的模块,创建一个名为 student.js 的文件。

在学生的模块里面,建一个方法: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);

}

nodeJS 简单的模块。的更多相关文章

  1. 关于Nodejs的多进程模块Cluster

    关于Nodejs的多进程模块Cluster   前述 我们都知道nodejs最大的特点就是单进程.无阻塞运行,并且是异步事件驱动的.Nodejs的这些特性能够很好的解决一些问题,例如在服务器开发中,并 ...

  2. Nodejs中cluster模块的多进程共享数据问题

    Nodejs中cluster模块的多进程共享数据问题 前述 nodejs在v0.6.x之后增加了一个模块cluster用于实现多进程,利用child_process模块来创建和管理进程,增加程序在多核 ...

  3. nodejs之url模块

    鄙人初步学习nodejs,目前在读<nodejs入门>这一本书,书很小,但是让我知道了如何用nodejs创建一个简单的小项目.例如如何创建一个服务器啦,例如http.createServe ...

  4. nodeJS之crypto模块md5和Hmac加密

    nodeJS之crypto模块md5和Hmac加密 原文地址:https://www.cnblogs.com/tugenhua0707/p/9128690.html 在nodejs中,可以使用cryp ...

  5. NodeJS简单爬虫

    NodeJS简单爬虫 最近一直在追火星的一本书,然后每次都要去网站看,感觉很麻烦,于是,想起用爬虫爬取章节,务实派,说干就干! 爬取思路 1.该网站的页面呈现出一定的规律 2.使用NodeJS的req ...

  6. 【模块化编程】理解requireJS-实现一个简单的模块加载器

    在前文中我们不止一次强调过模块化编程的重要性,以及其可以解决的问题: ① 解决单文件变量命名冲突问题 ② 解决前端多人协作问题 ③ 解决文件依赖问题 ④ 按需加载(这个说法其实很假了) ⑤ ..... ...

  7. kernel 模块与简单 hello 模块

    Kernel 模块与简单 hello 模块 kernel 模块的简介 Linux 内核进行扩展时,例如编写驱动程序.netfilter功能等,最方便的方式是通过编写模块,然后加载到内核中.由于 ker ...

  8. nodejs的require模块及路径

    在nodejs中,模块大概可以分为核心模块和文件模块. 核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net')). 文件模块,则是指js文件.json文 ...

  9. 使用nodejs的net模块创建TCP服务器

    使用nodejs的net模块创建TCP服务器 laiqun@msn.cn Contents 1. 代码实现 2. 使用telnet连接服务器测试 3. 创建一个TCP的client 1. 代码实现 ; ...

随机推荐

  1. 关于WCF报错之调用方未由服务器进行身份验证

    在我们部署好WCF服务以后,调用WCF服务会出现”调用方未由服务器进行身份验证”的错误.这个错误是怎么造成的呢? 通常我们在创建WCF后,用本机调试,一切正常,没有任何问题.其实用本机测试的时候,服务 ...

  2. Drop all the tables, stored procedures, triggers, constraints and all the dependencies in one SQL statement

    Is there any way in which I can clean a database in SQl Server 2005 by dropping all the tables and d ...

  3. SSDB图形界面管理工具:phpssdbadmin安装部署

    环境: 14.04.1-Ubuntu 1.安装Nginx apt-get install nginx ubantu安装完Nginx后,文件结构大致为: 所有的配置文件都在 /etc/nginx下: 启 ...

  4. javascript判断是否为闰年

    //判断年份year是否为闰年,是闰年则返回true,否则返回false function isLeapYear(year){ var a = year % 4; var b = year % 100 ...

  5. HTTP状态码(HTTP Status Code)

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 代码 说 ...

  6. AC日记——地鼠游戏 codevs 1052

    1052 地鼠游戏  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 王钢是一名学习成绩优异的学生,在平 ...

  7. 好用的dos命令

    控制台使用"help"查看帮助,使用"help + command-name"或"command-name /?"查看命令帮助. dir 可 ...

  8. /var/log/messages

    messages 该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵,包括整体系统信息,是系统最核心的日志.它包含了系统启动时的引导消息,以及系统运行时的其他状态消息.IO ...

  9. POJ 2125 Destroying the Graph 二分图最小点权覆盖

    Destroying The Graph Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8198   Accepted: 2 ...

  10. Paxos

    Paxos算法原理与推导   Paxos算法在分布式领域具有非常重要的地位.但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难. 网上有很多讲解Paxos算法的文章,但是质量参差不 ...