nodejs中的模組

2021-07-16 23:02:57 字數 1453 閱讀 2162

nodejs中的模組管理遵循commonjs規範。使用module.exports(可簡寫為exports)匯出模組,使用require來引入模組。

例:mymodule.js

var myfunction=function(name)

module.exports=myfunction;

// 也可也成exports = muyfunction;

main.js

var myfunction = require('./mymodule');

console.log(myfunction('tom')); //my name is tom

乙個模組若被多次引入,只會被載入一次。例:

sum2.js

console.log('module2');

module.exports = function(a, b)

sum3.js

var sum2 = require('./sum2');

console.log('module3');

module.exports = function(a, b, c)

main.js

var sum2 = require('./sum2');

var sum3 = require('./sum3');

console.log(sum3(1, 2, 3)); //6

module2只會被列印一次,雖然sum3.js中引用了一次,main.js中又引用了一次,這就是模組快取。

假如兩個模組相互依賴,會出現什麼情況呢?

a.js

var b = require('./b.js');

console.log('module a');

module.exports=function()

b.js

var a = require('./a.js');

console.log('module b');

module.exports=function()

main.js

var a = require('./a.js');

var b = require('./b.js');

console.log(a());

console.log(b());

會依次列印出

module b

module a

i am a

i am b

這可以用依賴快取來解釋。

因為先引入的模組a,而模組a依賴模組b,所以模組b被首先載入了。然後模組a,b都在快取中了。

然後再去引模組b的時候,就會從快取中讀了。

nodejs中的模組系統

nodejs中的模組語法關鍵字主要是exports module.exports 以及 require,不要和es6的import export搞混了 匯出exports物件後直接新增新成員 exports.area r pi r 2 對module.exports直接複製 module.expor...

nodejs中的path模組

path 路徑 檔案路徑,某個檔案在磁碟上的位置 檔案路徑按照完整性區分 相對路徑和絕對路徑 相對路徑是乙個不完整的路徑,忽略了開頭的碟符和頂層檔案位置 index.html 表示當前目錄 表示上層目錄 絕對路徑是乙個完整路徑,包含碟符和所有上層資料夾 e 前端55期 2019 9 23 01 ht...

NodeJs中的fs模組

const fs require fs 1.fs.stat 檢測是檔案還是目錄 fs.stat package.json err,data console.log 檔案 console.log 目錄 2.fs.mkdir 建立目錄 fs.mkdir css err console.log 建立成功 ...