包存储在当前目录中名为 node_modules
的子目录中。
要确定位置,可使用命令 npm root
。
要查看所有已安装的模块,可使用 npm ls
命令。
安装 commander
模块后,可以使用 npm ls
验证它。
$ npm ls /npm-test | +--commander@1.3.2 | +--keypress@0.1.0
上面的代码显示了安装的 commander
模块。树结构表明commander依赖于 keypress
模块。NPM可以识别其依赖性并自动安装任何所需的模块。你可以通过浏览 node_modules
子目录查看已安装的模块。
如果文件/home/myUser/project/myData.js有require('myModule')的require调用,Node.js按以下顺序扫描文件系统的node_modules。将返回第一个找到的myModule.js。
/home/myUser/project/node_modules/myModule.js /home/myUser/node_modules/myModule.js /home/node_modules/myModule.js /node_modules/myModule.js
Node.js在当前每个父文件夹跟随的文件夹中查找node_modules/myModule.js,直到它到达当前文件的文件系统树的根目录或直到找到myModule.js。
c:/hello/myData.js中的以下代码加载了一个模块node_modules/myModule.js。
var myModule = require("myModule");
myModule(); // hello node_modules!
在c:/hello/node_modules/myModule.js下的文件
module.exports = function () {
console.log("hello node_modules!");
}
如果我们使用基于文件的模块,myModule.js模块看起来完全一样。
基于文件的模块和node_modules之间的唯一区别是扫描文件系统以加载JavaScript文件的方式。 所有其他行为是相同的。
Node.js将在该文件夹中寻找一个index.js文件,并将其作为模块文件。
下面的代码显示了从文件夹隐式加载index.js。
在bar/bar1.js下的文件
module.exports = function () {
console.log("bar1 was called");
}
在bar/ bar2.js下的文件
module.exports = function () {
console.log("bar2 was called");
}
在bar/index.js下的文件
exports.bar1 = require("./bar1");
exports.bar2 = require("./bar2");
这里是myData.js将使用bar模块的文件,。
var bar = require("./bar");
bar.bar1();
bar.bar2();
以下代码显示如何将基于文件夹的模块更改为node_modules。
我们可以将require调用从require('./bar')更改为require('bar')。
// node_modules/bar/bar1.js
module.exports = function () {
console.log("bar1 was called");
}
// node_modules/bar/bar2.js
module.exports = function () {
console.log("bar2 was called");
}
// node_modules/bar/index.js
exports.bar1 = require("./bar1");
exports.bar2 = require("./bar2");
// myData.js
var bar = require("bar"); // look for a node_modules module named bar
bar.bar1();
bar.bar2();
TypeScript 位运算符示例假设变量A = 2并且B = 3运算符描述示例&(按位与)它对其整数参数的每一位执行Boolean“与”运算。(A...
类似JavaScript的TypeScript支持数字值为Number对象。number对象将数字文本转换为number类的实例。number类作为一个包装器,并允...
HTML DOM Column对象Column 对象Column 对象是HTML table(表格)中的列。在每个HTML文档的 col 标签中,都可以创建Column对象。...