在开始之前,需要明确的一点就是,

  ①Node应用是由模块组成的,每一个文件都是一个模块,有自己的作用域。

  ②在这个文件里定义的变量,函数,类都是私有的,对其他的文件不可见。

  ③在一个文件中,也就是在一个模块内,module代表本模块,是一个对象

  ④如果想给别的模块用本模块的东西,可以将本模块的部分通过设定为【module.exports.变量/函数/类】,别的模块通过require加载到本模块,就可以使用本模块提供出来的部分

  ⑤当然,你也可以将本模块的分享部分设定为【exports.变量/函数/类】,和【module.exports.变量/函数/类】的区别,单独在  说

下面,展示一个小例子:[例子学习自慕课网:http://www.imooc.com/video/6701/0]

一个school文件夹下,一个班级有老师,学生,然后实例化这个班级这个一个逻辑。

1.student.js

function addStudent(student){
console.log("Add new student:"+student);
} exports.add = addStudent;

2.teacher.js

var addTeacher = function (teacher){
console.log("AddTeacher:"+teacher);
} exports.add = addTeacher;

3.tClass.js

var student = require("./student.js");
var teacher = require("./teacher.js"); var classAdd = function(teachers,students){
teacher.add(teachers);
students.forEach(function(item,index){
student.add(item);
});
}; module.exports.add = classAdd;

4.index.js

var tclass = require("./tClass.js");
tclass.add("张老师",["李同学","王同学"]);

5.执行,实例化一个班级

完美

--------------------------------------------------------------------------割掉---------------------------------------------------------------

从上面一个小例子里,有几个地方需要注意:

【注意1】: require("./student.js"); require加载命令的使用

【注意2】:module.exports 和 exports 的用法区别。

【Node.js】4.从一个例子切入Node js的规范的更多相关文章

  1. 一个例子读懂 JS 异步编程: Callback / Promise / Generator / Async

    JS异步编程实践理解 回顾JS异步编程方法的发展,主要有以下几种方式: Callback Promise Generator Async 需求 显示购物车商品列表的页面,用户可以勾选想要删除商品(单选 ...

  2. js 继承的一个例子

    <script type="text/javascript"> function Animal(){ this.species = "动物"; th ...

  3. [JS]手动实现一个横屏滚动公告js插件

    前言 工作中要用到.在github上找的大部分都是竖屏滚动没办法只能自己手动写. 本来只是想随便实现一下的,结果一时兴起把它弄成了一个简单的小插件,开了个github仓库(希望路过点个星) JS横屏滚 ...

  4. Javascript 进阶 面向对象编程 继承的一个例子

    Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...

  5. 在Sublime Text3 开发Node.js遇到的一个小问题

    原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 以前的Sublime Text 2包管理出现问题了,不能安装新包,让人开发很捉急,今天装了个3,这个问题解决了 那我们就 ...

  6. Node.js 撸第一个Web应用

    使用Node.js 创建Web 应用与使用PHP/Java 语言创建Web应用略有不同. 使用PHP/Java 来编写后台代码时,需要Apache 或者 Nginx 的HTTP 服务器,而接受请求和提 ...

  7. 搭建一个简单的node.js服务器

    第一步:安装node.js.可以去官网:https://nodejs.org/en/进行下载. 查看是否成功,只需在控制台输入 node -v.出现版本号的话,就证明成功了. 第二步:编写node.j ...

  8. 一个迷你的 Node.js 基于 Express 的 MVR 模式的 API工程 的分析

    1. 工程说明 该工程是基于 Express 库,编写的一个 API 查询返回的一个微型应用. API Resource 就是把 API 的内容当做网络资源去处理.工程中的路由访问也是返回 API 内 ...

  9. Vue.js:安装node js到构建一个vue并启动它

    ylbtech-Vue.js:从安装node js到构建一个vue并启动它 1.返回顶部 1. 1.安装node js 下载地址:http://nodejs.cn/download/2.安装完成后运行 ...

随机推荐

  1. android ListView与EditText共存错位

    在一个ListView中,如果里面有EditText会很麻烦,因为修改EditText里面的数据会发生错位现象. 这时候,需要在适配器BaseAdapter的getView中设置setTag(),将p ...

  2. 学习go语言第一天

    今天先下载了go语言,FQ去下载的,一开始想用eclipse,然后下载了go插件,结果出现错误,我英语水平有限,就换了liteIDE,感觉还不错,go语言环境变量因为我是msi安装的,好像可以不用自己 ...

  3. 第十四篇:JavaScript

    本篇内容 简介 使用 DOM 一. 简介 JavaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. Ja ...

  4. iOS大神班笔记04-View的加载

    iOS开发中一个控制器创建View的过程(注意标注的地方): 1.通过storyboard加载 UIStoryboard的三个方法: + (UIStoryboard *)storyboardWithN ...

  5. 【bzoj3668】[Noi2014]起床困难综合症 贪心

    原文地址:http://www.cnblogs.com/GXZlegend/p/6797090.html 题目描述 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神 ...

  6. IE8专用hack

    众所周知,ie6.7的hack直接用*即可,但是ie8的话就比较麻烦,在做半透明背景的时候,为了兼容ie6.7,可以为其设置纯色,但是ie8也同样不支持半透明,需要单独为它设置纯色背景.下面的兼容代码 ...

  7. 深入解析VueJs中的V-bind指令

    v-bind 主要用于属性绑定,比方你的class属性,style属性,value属性,href属性等等,只要是属性,就可以用v-bind指令进行绑定.这次主要介绍了VueJs中的V-bind指令,需 ...

  8. Tomcat学习笔记(三)

    Tomcat连接器 tomcat连接器是tomcat的一个核心组件,在tomcat4中的实现原理如下 1.实现Connector接口 2.创建Request对象 3.创建Response对象 tomc ...

  9. AngularJS中获取ng-repeat动态生成的ng-model值

    需求:通过ng-repeat动态生成的CheckBox,实现勾选控制对应的批次号.如图: html: <div class="clearfix"> <div cl ...

  10. python3使用urllib获取set-cookies

    #!/usr/bin/env python # encoding: utf-8 import urllib.request from collections import defaultdict re ...