iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 10
0
Modern Web

從零開始認識 Node.js系列 第 10

[Day 10] API 尋寶記 - 不知不覺都會用到的 Global

Node.js Logo

前言

今天逛逛 Facebook 看見一篇關於 Node.js 的分享 37.需要搞懂的Node.js的核心Feature ,對 Node.js 的運作感興趣不妨看看。

Global Object 裡面有什麼?

Global 裡除了上篇 [Day 9] API 尋寶記 - 神秘的 Console 、 Cluster 提到的 console ,還有許多我們不知不覺中也用到的內容,以下就我讓攤開 Global Objcet ,做不知時多少前輩做過的第 N 手介紹 XD

全域物件 型態 說明
Buffer Function 將資料轉成二進字,使用方式參考 Buffer ( API 尋寶記 趕稿中 )
__dirname String 取得目錄路徑,如: /Users/app/a.js 回傳 /Users/app/
__filename String 取得檔案路徑,如:/Users/app/a.js 完整回傳
console Object 可以參考 [Day 9] API 尋寶記 - 神秘的 Console 、 Cluster
exports --- 屬於區域範圍 (Local scope),非全域範圍 (Global scope);會參照 module.exports ( Modules 說明文件 ( API 尋寶記 趕稿中 ) )
global Object 在 Node.js 裡不要被 global 一詞騙了,它屬於區域範圍,而非全域範圍
module Object 屬於區域範圍;內容為這個區域內載入的 Module ( Modules ( API 尋寶記 趕稿中 ) )
process Object 使用方式參考 Process ( API 尋寶記 趕稿中 )
require() Function 屬於區域範圍;載入 Module
require.cache Object 屬於 require() 一部分,需配合 Node.js 的 Modules 暫存機制,可以透過 Key 值刪除 Object 裡的 Module ,當下一次透過 require 載入時會做 reload。但若對 原生插件 (C/C++ Addons) 同樣的事件則會發生錯誤
require.resolve() --- 屬於 require() 一部分,透過其機制取得 Module 的檔名
clearImmediate(immediateObject) --- 使用方式參考 Timers ( API 尋寶記 趕稿中 )
clearInterval(intervalObject) --- 使用方式參考 Timers
clearTimeout(timeoutObject) --- 使用方式參考 Timers
setImmediate(callback[, ...args]) --- 使用方式參考 Timers
setInterval(callback, delay[, ...args]) --- 使用方式參考 Timers
setTimeout(callback, delay[, ...args]) --- 使用方式參考 Timers

後記

沒想到這篇花得時間比想像的多,本來計畫 GlobalFile System 一併介紹,目前進度有些落後,因此 File System 可能不會一一介紹。

參考資料


上一篇
[Day 9] API 尋寶記 - 神秘的 Console 、 Cluster
下一篇
[Day 11] API 尋寶記 - Windows 也要用 Bash + 後繼預告 (1)
系列文
從零開始認識 Node.js31

尚未有邦友留言

立即登入留言