node.js学习之module调用方式
2017-02-15 11:58
423 查看
1.创建并测试模块
创建模块的时候可以两种方式
一, function hello() {
console.log('Hello');
}
function world() {
console.log('World');
}
exports.hello = hello;
exports.world = world;
//相当于exports对象中添加函数,作为模块被其他调用,并且对象.函数名();调用
--------
var hello = require('./mymodule');
// 也可以写作 var hello = require('./mymodule.js');
// 现在就可以使用mymodule.js中的函数了
hello.hello(); // >> Hello
hello.world(); // >> World
//在当前文件夹shift按下后打开命令框 node index.js直接执行
二, function Hello() {
this.hello = function() {
console.log('Hello');
};
this.world = function() {
console.log('World');
};
}
module.exports = Hello;
-----------
var Hello = require('./mymodule');
var hello = new Hello();
//模块中是构造函数,可以被new成对象的方式进行调用,所以就new下
hello.hello(); // >> Hello
hello.world(); // >> World
2. module.exports和exports 问题详细理解
exports是引用 module.exports的值。module.exports 被改变的时候,
exports不会被改变,而模块导出的时候,真正导出的执行是
module.exports,而不是exports
exports在module.exports 被改变后,失效。
module是一个对象,每个模块中都有一个module对象,module是当前模块的一个引用。module.exports对象是Module系统创建的,而exports可以看作是对module.exports对象的一个引用。在模块中require另一个模块时,以module.exports的值为准,因为有的情况下,module.exports和exports它们的值是不同的。module.exports和exports的关系可以表示成这样:
// module.exports和exports相同的情况var m = {};
// 表示 modulevar e = m.e = {}; // e 表示 exports, m.e 表示 module.exportsm.e.a = 5;e.b = 6;console.log(m.e);
// Object { a: 5, b: 6 }console.log(e); // Object { a: 5, b: 6 }
// module.exports和exports不同的情况var m = {};
// 表示 modulevar e = m.e = {};
// e 表示 exports, m.e 表示 module.exportsm.e = { c: 9 };
// m.e(module.exports)引用的对象被改了e.d = 10;console.log(m.e);
// Object { c: 9 }console.log(e); // Object { d: 10 }
创建模块的时候可以两种方式
一, function hello() {
console.log('Hello');
}
function world() {
console.log('World');
}
exports.hello = hello;
exports.world = world;
//相当于exports对象中添加函数,作为模块被其他调用,并且对象.函数名();调用
--------
var hello = require('./mymodule');
// 也可以写作 var hello = require('./mymodule.js');
// 现在就可以使用mymodule.js中的函数了
hello.hello(); // >> Hello
hello.world(); // >> World
//在当前文件夹shift按下后打开命令框 node index.js直接执行
二, function Hello() {
this.hello = function() {
console.log('Hello');
};
this.world = function() {
console.log('World');
};
}
module.exports = Hello;
-----------
var Hello = require('./mymodule');
var hello = new Hello();
//模块中是构造函数,可以被new成对象的方式进行调用,所以就new下
hello.hello(); // >> Hello
hello.world(); // >> World
2. module.exports和exports 问题详细理解
exports是引用 module.exports的值。module.exports 被改变的时候,
exports不会被改变,而模块导出的时候,真正导出的执行是
module.exports,而不是exports
exports在module.exports 被改变后,失效。
module是一个对象,每个模块中都有一个module对象,module是当前模块的一个引用。module.exports对象是Module系统创建的,而exports可以看作是对module.exports对象的一个引用。在模块中require另一个模块时,以module.exports的值为准,因为有的情况下,module.exports和exports它们的值是不同的。module.exports和exports的关系可以表示成这样:
// module.exports和exports相同的情况var m = {};
// 表示 modulevar e = m.e = {}; // e 表示 exports, m.e 表示 module.exportsm.e.a = 5;e.b = 6;console.log(m.e);
// Object { a: 5, b: 6 }console.log(e); // Object { a: 5, b: 6 }
// module.exports和exports不同的情况var m = {};
// 表示 modulevar e = m.e = {};
// e 表示 exports, m.e 表示 module.exportsm.e = { c: 9 };
// m.e(module.exports)引用的对象被改了e.d = 10;console.log(m.e);
// Object { c: 9 }console.log(e); // Object { d: 10 }
相关文章推荐
- React-Native_学习笔记1: Unable to resolve module Dimensions from “...js” Invalid directory /Users/node_m
- node.js 学习第四天 请求的方式 同步--异步请求数据
- 韩顺平 javascript教学视频_学习笔记8_js系统函数_js函数调用方式
- node.js学习笔记之模块调用
- node.js 调用 C++ 学习资源
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第25讲_js系统函数_js函数调用方式_学习笔记_源代码图解_PPT文档整理
- Node.js学习笔记_模块调用
- node.js学习笔记-模块module
- Node.js的学习历程二同步异步调用等基础知识的理解
- Node.js学习笔记-os Module
- node.js 学习笔记之 module.exports与exports
- node.js学习之调用模块
- 字节对齐和C/C++函数调用方式学习总结
- (重点)(关于JS调用的方式)JS 传值传值传值传值传值 没想到的失误,知识的不理解
- [转] 学习服务器端的JavaScript_Node.js
- 学习NodeJS第一天:node.js引言(转)
- 字节对齐和C/C++函数调用方式学习总结
- 20100826 学习记录:.net中调用的js日历控件
- 怎样有效地学习 Node.js ?
- 20100918 学习记录:Javascript调用后台方法 vs JS调数据库二级联动