中午吃完饭,没事就想写写心得了.
今天来说说NodeJS里的模块吧.
说到模块,其实这是一种很好的设计思想,NodeJS里的模块是按CommonJS规范不设计的,不了解CommonJS规范的同学们,可以点击这里查看.
首先我们来定义一个模块,见下面的代码
function DemoModule(){ var _name=''; this.setName=function(name){ _name=name; }; this.getName=function(){ console.log(_name); }; } module.exports=DemoModule;
看完上面的代码之后,相信大家肯定会有疑惑,这个module.exports是什么意思呢
首先module是这里面的全局变量,这个对象里面有很多属性,大家可以
consoel.log(module);
打印看看结果,而这个exports属性是外部访问模块的接口,
也就是说,现在外面引用这个模块之后,返回的接口对象就是DemoModule这个类了,直接上代码
//引处demomodule为上面定义的模块的js文件名 var Demo=require('./demomodule'); var obj=new Demo(); //此处的Demo对象就为模块中那个DemoModule类 obj.setName('xu'); obj.getName(); //打印出xu
相信大家看完上面的介绍,对模块的概念有一个简单的认识了,其实说到模块
Javascript前端也有模块的概念,比如AMD,CommonJS规范都是来约束Javascript模块的实现的
前面比较好的模块JS类库有require.js,seajs.js等
有兴趣的同学们可以自己研究看看,以后有空也会上些这类的文章。