理解Nodejs 的模块化思想 例子
来源:互联网 发布:xperia touch 知乎 编辑:程序博客网 时间:2024/06/07 08:17
在学习教程:nodejs教程 的时候, 遇到了怎么输出模块接口的问题,也就是怎么理解exports的用法.
hello.js文件里面的定义大家是一样的:
function Hello(){var name;this.setName = function(thisName){name = thisName;}this.sayName = function(){console.log('hello\t'+name);}};//定义了一个类module.exports = Hello;//当我们使用require,来引入这个文件的时候得到的是这个类的定义
主程序我叫做sayName.js, 目的就是要让Hello的实例说出名字
var Hello = require ('./hello');//module.exports = Hello, 而Hello是一个类,这里需要实例化var hello= new Hello();hello.setName('loudyten');hello.sayName();运行结果:
主程序我叫做sayName-erro.js, 我们来试试错误的引用
var Hello = require ('./hello');//module.exports = Hello, 而Hello是一个对象,这里需要实例化console.log(Hello.toString()+'\n');//实际上就是把类的定义代码引用过来了Hello.setName('fff');
运行结果:
可以看到提示错误这个类定义的代码是没有 setName()这个方法的, 类的定义当然有方法, 只是只有类的对象(或者实例)才能调用方法。
这里主要是要区别输出的是对象还是还是输出的是类,原教程的第一个例子输出的是对象,当然可以引用,但是描述上也让我懵B了一段时间:
在原链接地址中的第一个例子exports出来的是一个对象:
hello-object.js如下:
exports.world = function(){console.log('hello world');};
main-process.js如下:
var hello = require('./hello-object');console.log(hello.toString());hello.world();运行结果:
这也就证明了,在hello.object.js 中的写法,实际上exports出来的是一个对象,而不是一个类。
0 0
- 理解Nodejs 的模块化思想 例子
- Nodejs的模块化以及例子
- C语言模块化程序设计思想的理解
- 模块化思想重写之前写的My97DatePicker的例子
- 几行|代码|理解|nodeJS的模块化|加载|原理
- 模块化思想的重要性
- Node 的模块化思想
- C++模块化思想的应用
- 模块化的理解
- jscript 模块化的理解
- 模块化思想
- nodejs的异步编程思想
- C语言模块化编程的思想
- 我对模块化的理解
- 游戏的模块化开发理解
- 对模块化编程的理解
- 前端模块化的自我理解
- 深入理解OSGI的模块化
- rocketmq 的cluster模式下确保消息不丢失之消费进度维护
- C++实验4-分数的累加
- Java之读取Properties属性文件【整理】
- 解决pdf中翻译外文文献到word参考文献格式错误
- Windows文件操作
- 理解Nodejs 的模块化思想 例子
- dll笔记
- Android Studio Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- HDU 5239 Doom
- HDU 1010 Tempter of the Bone(DFS,奇偶剪枝)
- 反向代理的有趣用法
- Redis 和Memcache的区别
- 使用指针进行数组内的数字调换
- iOS开发里面的4个层次