[AY-Node.js]写给自己的NodeJs-最重要的Modules【一】[5]

来源:转载

modules是你开发nodejs最基础的思想或者说是语法,必须要懂

api地址: https://nodejs.org/api/modules.html

有了node的 modules,一切都变的可能了,类似java的很多java文件,C#的很多cs文件,那么node,也就很多js文件了,并且他们可以互相交互,互相使用。

开始吧,新建一个2的文件夹,新建一个circle.js文件

var PI=Math.PI;exports.area=function(r){return PI*r*r;}exports.circumference=function(r){return 2*PI*r;}

exports是nodejs中用来导出方法给别的js文件调用的,其他对于其他js文件来说都是黑暗的,类似private

然后新建一个foo.js来调用

还是通过require来引用,其中虽然在同级目录,但是还要加上./表示当前目录

如果你想把一个js文件导出为一个完整的对象,或者是一个函数,例如构造函数,那样去用,你就要用module.exports来替代exports

我们新建一个square.js文件

module.exports=function(width){return {area:function(){return width*width;}}}

当然nodejs提供了很多其他的modules,这也是node自带的api文件上提到的,左侧菜单的那些。

node找文件

常见的.js文件,.json文件,.node文件

有/前缀的,是绝对路径,比如require('/home/marco/foo.js')

没有/或者./或者../的,则从node_modules 中找

./前缀的就理解相对的,如上,表示当前目录了

比如一个文件地址在/home/ry/projects/foo.js,但是是require('bar.js')引用的

那么node就会这样找文件

/home/ry/projects/node_modules/bar.js

/home/ry/node_modules/bar.js

/home/node_modules/bar.js

/node_modules/bar.js

通过文件夹组织 module,分门别类

你可以创建一个package.json文件来指定一个主js文件,还有一些其他信息

例如

{ "name" : "ay-library",

"main" : "./foo.js" }

如果存在ay-library文件夹,如果require('./ay-library'),那么nodejs就会尝试加载./ay-library/foo.js文件

如果没有package.json文件,nodejs会尝试index.js或者index.node文件,换句话说就是./ay-library/index.js或者./ay-library/index.node

node会根据文件名进行缓存。

======================================== AYUI www.ayjs.net AY 杨洋原创编写,请不要转载谢谢===============

推荐您阅读更多有关于“nodejs,”的文章


分享给朋友:
您可能感兴趣的文章:
随机阅读: