Node.js 全局包

软件包是包含在程序中的库。

必须在使用它们的每个项目中安装本地包,然而全局包只需要安装在一个位置。

要安装一个全局包,请使用-g--global选项命令npm安装。

你可以通过处理全局包向大多数 npm 命令添加 -g选项。

要查看已安装的全局包,请使用命令 npm ls -g

要查找全局node_modules文件夹,请使用npm ls -g command

我们看到的所有NPM命令都带有一个可选的-g标记,表示你正在使用全局模块。

例子

以下代码全局安装browserify包。 npm install -g browserify 这种在命令行上放置browserify,我们在前一章中使用过。

更新的全局包 npm update -g package-name 列出全局包 npm ls -g 卸载包 npm rm -g package-name 例如,要卸载Browserify,将运行 npm rm -g browserify 在全局安装模块时,NPM不会修改系统配置。

全局模块放置在命令行上使它们可用的位置。

使用全局模块的require

全局安装的模块不应该在我们的代码中使用require函数,虽然许多支持全局标记的包也支持在我们的项目里本地安装(node_modules文件夹)。

如果安装在本地,也就是没有-g标记,我们可以使用require函数,如我们已经看到的。

一个很好的简单例子就是rimraf模块(www.npmjs.org/package/rimraf)。

如果全局安装了 rimraf (npm install -g rimraf),它提供了一个命令行实用程序,你可以跨平台递归和强制删除目录。

要在全局安装rimraf后删除目录myData,请运行 rimraf myData 要从Node.js代码做同样的事情,在本地安装rimraf(npm install rimraf),创建一个app.js如图所示。

  1. var rimraf = require("rimraf");
  2. rimraf("./foo", function (err) {
  3. if (err)
  4. console.log("Error occured:", err);
  5. else
  6. console.log("Directory foo deleted!");
  7. })