您的位置:首页 > 产品设计 > 产品经理

模块与npm包管理工具

2016-10-19 00:00 441 查看
4.1、核心模块与文件模块

在node.js中,以模块为单位划分所有功能。一个node..js应用程序有大量的模块组成,每一个模块都是一个javascript脚本文件。模块是一个非常重要的概念,它允许我们将第三方类库引入到我们的应用程序中,如果数据库访问类库。通过将应用程序的各种重用代码写为各个模块的方法,不可以大大减少需要编写的代码量、提供开发效率,而且还可以使我们的代码变得更加简洁、易读。 可以使用require加载node.js中预定义的核心模块,只需要指定模块名即可。例如:require('http') 也可以自己编写或从网上下载以下几种模块文件: 1)、后缀名为.js的javascript脚本文件 2)、后缀名为.json的JSON文本文件 3)、后缀名为.node的经过变异后的二进制模块文件 加载模块文件时,徐哟指定该文件的完整路径及文件名。./当前目录,/指定绝对路径 4.2、从模块外部访问模块内的成员 4.2.1、使用exports对象 4.2.2、将模块定义为类 4.2.3、将模块类定位类变量或类函数 4.3、组织与管理模块 4.3.1、从node_modules目录中加载模块 4.3.2、使用目录来管理模块 我们在应用程序根目录创建一个node_modules子目录,在其中创建一个foo子目录,并在其中创建一个index.js文件, var foo=require('./foo.js');//将次行代码修改为如下所示 var foo=require('foo'); 修改好foo目录下index.js模块将被正确加载。 4.3.3、从全局目录中加载文件 如果你在操作系统的环境变量中设置了NODE_PATH变量,并将变量值设置为一个有效的磁盘目录,当你在requrie函数中只指定模块名而没有指定模块路径,而node.js从其他路径中找不到需要被加载的模块文件时,node.js将从NODE_PATH变量所指向的磁盘目中寻找并加载该模块文件。 4.4、模块对象的属性 在模块文件内部,可以访问当前模块的一些属性。 module.id:当前模块的ID module.filename:当前模块的文件名 module.loaded:属性值为布尔值,当属性值为false时表示模块尚未加载完毕,为true模块加载完毕。 module.parent:当前模块的父模块对象,即调用当前模块的模块对象 module.children:属性值是一个数组,其中存放了当前模块的所有子模块对象,即,当前模块中已加载的所有模块对象。 4.5、包与npm包管理工具 4.5.1、node.js中的包 在node.js中,可以通过包来对一组具有相互依赖关系的模块进行统一管理。通过包的使用,我们可以将某个独立的功能封装起来。 在node.js中,一个包事实上是一个目录,其中包含了用于对包进行描述的JSON格式的package.json文件。在一个包中,通常包含如下所示的一些内容: 1)、在包的根目录中存放package.json文件 2)、在bin子目录中存放二进制文件 3)、在lib子目录中存放JavaScript文件 4)、在doc目录中存放对包或包的使用方法进行说明的文档文件 5)、在test子目录中存放一些对包进行单元测用的文件。 4.5.2、npm包管理工具
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Node.js