node.js模块化写法入门
2015-05-21 20:11
429 查看
子模块的写法:
这里定义了一个模块叫SVN,可以通过两种方式把这个模块的方法公开给外界调用。
一个是赋值给module.exports,另外一个就是设置exports的属性。
使用时:
svn1和svn2就分别对应上述的两种公开方式。
我觉得习惯上,如果这个模块就是一个类,那么用第一种方法比较合适;如果这个就是一个工具库,只是静态函数,那么用第二个方式;如果这个模块其实包含很多个类,那么还是第二个方式,这个模块就变了一个包(package)或者说命名空间,例如:
搞个define.js,假设person.js导出了一个Person类,animal.js导出一个Animal类
使用时:
嗯,非常有面向对象的感觉。。。咳咳,自从很久很久以前用过java后,这种类、包的思维就固化了,真不知道是好事还是坏事。。。
function SVN(){ console.log('svn initialized'); return this; } function getInstance() { console.log('getInstance'); return new SVN(); } module.exports = SVN; module.exports.getInstance = getInstance;
这里定义了一个模块叫SVN,可以通过两种方式把这个模块的方法公开给外界调用。
一个是赋值给module.exports,另外一个就是设置exports的属性。
使用时:
var SVN = require('./lib/svn.js'); var svn1 = new SVN(); var svn2 = SVN.getInstance();
svn1和svn2就分别对应上述的两种公开方式。
我觉得习惯上,如果这个模块就是一个类,那么用第一种方法比较合适;如果这个就是一个工具库,只是静态函数,那么用第二个方式;如果这个模块其实包含很多个类,那么还是第二个方式,这个模块就变了一个包(package)或者说命名空间,例如:
搞个define.js,假设person.js导出了一个Person类,animal.js导出一个Animal类
module.exports.Person = require('./person.js'); module.exports.Animal = require('./animal.js');
使用时:
var define = require('./define.js'); var person = new define.Person(); var animal = new define.Animal();
嗯,非常有面向对象的感觉。。。咳咳,自从很久很久以前用过java后,这种类、包的思维就固化了,真不知道是好事还是坏事。。。
相关文章推荐
- Node.js的模块写法入门
- 一本node.js入门书籍
- Node.JS Express入门
- Node.js 入门
- Node.js入门:模块机制
- 针对 Node.js 初学者的入门资源汇总
- JS模块化写法(转)
- Node.js开发入门—HelloWorld再分析
- ActiveMQ + NodeJS + Stomp 极简入门
- 拥抱Node.js 8.0,N-API入门极简例子
- Node.js入门学习
- node.js Express框架入门
- 签到APP:android入门级小项目,Node.js 提供服务端接口。
- 【备忘】2017年node.js零基础入门到企业级全栈案例开发教程
- Node.js 入门
- Node.js开发入门(三)——HTTP文件服务器
- node.js学习笔记(3)_极客学院_服务器入门
- node.js安装与入门使用
- Node.JS入门(五)——后台接收页面参数并保存到数据库
- node.js零基础详细教程(2):模块化、fs文件操作模块、http创建服务模块