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

  ①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. gulp-API介绍

    使用gulp,一般只需要用4个API:gulp.src(),gulp.dest(),gulp.task(),gulp.watch(). 1. gulp.src() 用来获取流的,但是要注意的是这个流里 ...

  2. PHP生成随机数函数rand(min,max)

    rand(min,max):生成min到max 的随机数,注意:包括边界rand() 返回 0 到 RAND_MAX 之间的伪随机整数.例如,想要 5 到 15(包括 5 和 15)之间的随机数,用 ...

  3. 国际语言代码 Language Code

    语言代码 语言名称 af 南非语 af-ZA 南非语 ar 阿拉伯语 ar-AE 阿拉伯语(阿联酋) ar-BH 阿拉伯语(巴林) ar-DZ 阿拉伯语(阿尔及利亚) ar-EG 阿拉伯语(埃及) a ...

  4. P3141 [USACO16FEB]围栏Fenced In_Platinum

    题目描述 Farmer John has realized that many of his cows are strangely agoraphobic (being fearful of larg ...

  5. 【CF #313】

    B题为啥交换一下搜索顺序就会TLE啊QAQ C题原来要预处理乘法逆元才能过啊QAQ 我沙茶啊我QAQ[还是太弱 嗯A题就是道水题 B题就是字符串Hash+暴力搜 C题就是组合数+容斥原理

  6. 【马克-to-win】学习笔记—— 第五章 异常Exception

    第五章 异常Exception [学习笔记] [参考:JDK中文(类 Exception)] java.lang.Object java.lang.Throwable java.lang.Except ...

  7. java反射调用私有方法和修改私有属性

    //调用私有方法package com.java.test; public class PrivateMethod { private String sayHello(String name) { r ...

  8. 《R语言实战》读书笔记--第五章 高级数据管理

    本章内容: 数学和统计函数 字符处理函数 循环和条件执行 自编函数 数据整合与重塑 5.1一个数据处理难题 5.2数值和字符处理函数 分为数值函数和字符串函数,下面是数学函数截图: ceiling.f ...

  9. AGC023E - Inversion

    Description \(n \le 2*10^5\) 给定限制序列 \(A\) 求满足 \(P_i\le A_i\) 的所有排列中 逆序对个数的和 Solution 考虑知道一个 \(A\) 序列 ...

  10. pip切换国内的源

    pip install Flask -i http://pypi.douban.com/simple ~/.pip/pip.conf The documentation says the config ...