【Node.js】4.从一个例子切入Node js的规范

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

  ①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 的用法区别。

 

时间: 2024-09-20 04:18:28

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

JS特效代码--一个很Cool的JS菜单效果

 <script> function CoolMenuControl(){ //-----常规变量--- this.lastScrollX=0; this.lastScrollY=0; this.lastScrollW=0; this.lastScrollH=0; this.td_X=0; this.td_Y=0; this.td_W=0; this.td_H=0; this.td=0; this.mouseon=0; this.current=null this.hk_name; this.

node js-Express node.js 如何访问一个域名 并返回数据求大神指教

问题描述 Express node.js 如何访问一个域名 并返回数据求大神指教 我是要去调用接口 (这个接口是别人写好了的 有自己的域名 我只要传参过去 接口就会返回json数据) 才刚学node.js 想想请教大神 给点思路 或者源代码

Node.js开发者必须了解的4个JS要点_node.js

本文为开发者总结了4个Node.js要点. 1. 非阻塞(Non-blocking)或异步I/O 由于Node.js一个服务器端框架,所以它主要工作之一是处理浏览器请求.在传统的I/O系统中,每个请求的发出都是在上一请求到达之后才发出的.所以这被称为阻塞(blocking)I/O.服务器会阻挡其它的请求以处理当前请求,从而导致浏览器等待. Node.js不以这种方式来进行I/O处理.如果一个请求需要长时间处理,Node.js会把该请求发送给一个事件循环(event loop),然后继续处理在调用

用C/C++来实现 Node.js 的模块(一)_node.js

N久之前的一个坑--用 Node.js 来重构 NBUT 的 Online Judge,包括评测端也得重构一遍.(至于什么时候完成大家就不要关心了,(/‵Д′)/~ ╧╧ 总之我们现在要做的其实简而言之就是--用C/C++来实现 Node.js 的模块. 准备工作 工欲善其事,必先~~耍流氓~~利其器. node-gyp 首先你需要一个 node-gyp 模块. 在任意角落,执行: 复制代码 代码如下: $ npm install node-gyp -g   在进行一系列的 blahblah 之

node+express+jade制作简单网站指南_node.js

1.建立工程文件夹:my_jade 2.下载express和jade包到本地.我个人不喜欢下载成全局的,我喜欢下到工程文件夹中去. 3.建立相关的文件夹和文件. index.js: style.css gys.jade代码: index.jade: layout.jade app.js 运行app.js:node app.js; 在浏览器中预览: 在看一个不使用页面布局的例子: 修改index.js 修改app.js 运行app.js在浏览器中预览: 单击提交 会触发ajax. .本文就先到这里

Node.js的基本知识简单汇总_node.js

Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到今年发布Windows移植版本,Node.js的前景获得了技术社区的肯定.InfoQ一直在关注Node.js的发展,在今年的两次Qcon大会(北京站和杭州站)都有专门的讲座.为了更好地促进Node.js在国内的技术推广,我们决定开设"深入浅出Node.js"专栏,邀请来自Node.js领域

Node.js模块加载详解_node.js

JavaScript是世界上使用频率最高的编程语言之一,它是Web世界的通用语言,被所有浏览器所使用.JavaScript的诞生要追溯到Netscape那个时代,它的核心内容被仓促的开发出来,用以对抗Microsoft,参与当时白热化的浏览器大战.由于过早的发布,无可避免的造成了它的一些不太好的特性. 尽管它的开发时间很短,但是JavaScript依然具备了很多强大的特性,不过,每个脚本共享一个全局命名空间这个特性除外. 一旦Web页面加载了JavaScript代码,它就会被注入到全局命名空间,

node.js入门教程迷你书、node.js入门web应用开发完全示例_基础知识

本书状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新. 本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作. 读者对象 本书最适合与我有相似技术背景的读者: 至少对一门诸如Ruby.Python.PHP或者Java这样面向对象的语言有一定的经验:对JavaScript处于初学阶段,并且完全是一个Node.js的新手. 这里指的适合对其他编程语言有一定经验的开发者,意思是说,本书不会对诸如数据类型

《Node应用程序构建——使用MongoDB和Backbone》一第 1 章 Node.js基本介绍1.1 Node和npm命令

第 1 章 Node.js基本介绍 写给PHP开发者的Node.js学习指南 我们假定你有一个PHP代码库需要移植到Node.js.在可预见的未来你需要为用户提供PHP和Node.js两个代码库,这意味着你需要同步更新和改进这两个代码库.但是你并不了解Node.js,也没有做过任何有关Node.js的开发.那么该从哪里下手呢? 首先需要下载支持你的平台的Node.js,可能是Linux或者Windows版本(是的!Node.js还提供了Windows的版本!).因为每个版本的安装方法和安装工具都