模塊的暴露和導入
編寫date.js
module.exports.echo 導出的名稱
module.exports.echo = function echo(){
return Date.now();
}
編寫 index.js
const echoDate = require(‘./date.js’) 在index引入
console.log(echoDate.echo()); //調用
開發一個自定義模塊
exports.formatDateTime = function(timestamp){const duration = parseInt(Date.now()/1000,10) - timestamp;if(duration < 600){return '剛剛';}if(duration < 3600){return '1小時內';}if(duration < 3600 * 24 ){return '今天';}return new Date(timestamp * 1000).toString();}
const date = require('./date2');
const now = parseInt(Date.now() /1000,10);
console.log("@@@@@"+now);
console.log(date.formatDateTime(now - 60));
console.log(date.formatDateTime(now - 1800));
console.log(date.formatDateTime(now - 3500 * 24));
console.log(date.formatDateTime(now - 3770 * 24));
輸出結果如下:
@@@@@1754484228
剛剛
1小時內
今天
Tue Aug 05 2025 19:35:48 GMT+0800 (中國標準時間)
[Done] exited with code=0 in 0.617 seconds
nodejs 的異步風格
- 回調函數
nodejs 中的回調函數是統一的風格,異步函數簽名如下:
func(param…,callback(Error,data))
param 表示api 的參數,如文檔路徑,用戶名密碼登…
callback(Error,data) 是回調函數,回調函數的第一個參數一定是一個Error對象,data 表示調用成功之后的結果,沒有出錯時第一個參數值為null
讀取文件回調的例子:
const fs = require('fs');
fs.readFile('./hello.js',function(error,data){if(error){console.log('讀取出錯',error);return;}console.log(data.toString());
});
執行結果:
console.log(“hello nodejs!!!”);
[Done] exited with code=0 in 1.13 seconds
-
Promise
-
async/await