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 建立成功 ...