W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
包存儲在當前目錄中名為 node_modules
的子目錄中。
要確定位置,可使用命令 npm root
。
要查看所有已安裝的模塊,可使用 npm ls
命令。
安裝 commander
模塊后,可以使用 npm ls
驗證它。
$ npm ls /npm-test | +--commander@1.3.2 | +--keypress@0.1.0
上面的代碼顯示了安裝的 commander
模塊。樹結(jié)構(gòu)表明commander依賴于 keypress
模塊。NPM可以識別其依賴性并自動安裝任何所需的模塊。你可以通過瀏覽 node_modules
子目錄查看已安裝的模塊。
如果文件/home/myUser/project/myData.js有require('myModule')的require調(diào)用,Node.js按以下順序掃描文件系統(tǒng)的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,直到它到達當前文件的文件系統(tǒng)樹的根目錄或直到找到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之間的唯一區(qū)別是掃描文件系統(tǒng)以加載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調(diào)用從require('./bar')更改為require('bar')。
// node_modules/bar/bar1.js
module.exports = function () {/*from www.o2fo.com*/
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();
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: