Node.js知识点整理之----npm包管理工具

在Node.js中,可以自己编写或从网上下载模块文件:

  • 后缀名为.js的JavaScrip文件
  • 后缀名为.json的JSON文件
  • 后缀名为.node的经过编译后的二进制模块文件

使用require()引入模块文件时需要指定文件的路径及文件名:

  • ‘./’代表当前目录来指定相对路径
  • '/'代表绝对路径

自定义模块

使用 exports对象,暴露模块内的变量、函数 或 对象

var myMsg = 'hello';
var func = function(){
 //...   
}
exports.msg = myMsg;
exports.func = func;
//也可以使用module.exports.XXX

自定义模块为类

使用 module.exports 的书写方法。

var name='';
var age = 0;
var foo = function(){
    //...
}

foo.prototype.name = name;
foo.prototype.age = age;

foo.prototype.getName = function(){
    //...
}

foo.prototype.setName = function(){
    //...
}

module.exports = foo;

为模块类定义变量或函数

当把模块定义为类时,可以为该类定义类变量或类函数

var foo = function(){
    //...
}

foo.staticName = '';

foo.staticFunc = function(){
    //...
}

module.exports = foo;

组织管理模块

如果在require函数中参数只使用文件名,但不指定路径,则Node.js将该文件视为 node_modules目录下的文件。

使用目录管理模块

  • 将目录名指定为模块名:在应用程序根目录下创建一个node_modules子目录,在其中创建一个目录,并在其中放入一个index.js文件
  • 在应用程序根目录下的node_modules子目录的foo子目录下创建一个package.json文件,并在其中使用如下所示的代码创建模块名与主文件
{
    "name":"foo",
    "main":"./lib/foo.js"
}

从全局目录中加载模块

如果在操作系统的环境变量中设置了NODE_PATH变量,并将变量值设置为一个有效的磁盘目录,在require中只指定模块名,而没有指定路径时,并且Node.js从其他路径中找不到需要加载的模块文件,Node.js将从NODE_PATH变量值所指向的磁盘目录中寻找并加载模块。

模块对象属性

module.id

当前模块的ID。

在默认情况下,主模块的ID属性值为“.”,其他模块的ID属性值为该模块文件的绝对路径。

module.filename

当前模块文件的文件名。

module.loaded

属性值为布尔值,当为false时,表示模块尚未加载完毕,为true时,表示 属块加载完毕。

module.parent

属性值为当前模块的父模块对象。

module.children

属性值为一个数组,存放了当前模块的所有子模块对象。

Node.js中的包

一个包事实上是一个目录,其他包含了用于对包进行描述的JSON格式的package.json文件。

包中的内容

  • 在包的根目录中存放package.json文件
  • 在bin子目录中存放二进制文件
  • 在lib子目录中存放JavsScript文件
  • 在doc子目录中存放对包 或 包的使用方法的说明文件
  • 在test子目录中存放单元测试文件

package.json中的内容:

  • name:包名
  • preferglobal:是否支持全局安装
  • description:包说明
  • version:版本号
  • author:作者信息数组
  • maintainers:包维护者信息数组
  • bugs:bug提交地址
  • licenses:许可证数组
  • repository:仓库托管地址数组
  • keywords:关键字数组
  • dependencies:本包所依赖的包

npm包管理工具

//搜索并查看forever包信息
npm search forever

//查看forever包所用package.json中的信息
npm view forever

//下载forever
npm install forever

//全局安装包
npm install -g forever

//查看Node.js的全局包的安装路径
npm root -g

//修改Node.js的全局包的安装路径
npm config set prefix "d:\node"

//查看命令行提示窗口当前目录下所安装的所有包
npm list

//查看Node.js的全局包的安装路径下安装的所有包
npm list -g

//卸载当前目录下安装的某个包
npm uninstall <包名>

//卸载Node.js全局包的安装路径下安装的某个包
npm uninstall -g <包名>

//更新当前目录下安装的某个包
npm update <包名>

//更新Node.js的全局包的安装路径下安装的某个包
npm update -g <包名>

//更新当前目录下安装的所有名
npm update

//更新Node.js的全局包的安装路径下安装的所有包
npm update -g

猜你喜欢

转载自www.cnblogs.com/adhehe/p/9695743.html