Global 物件和模組 | Node.js

阿榮
發佈於前端
閱讀時間約 2 分鐘

window 和 global 的差別

我們在 chrome console 寫程式碼時,會有 window 物件 (全域),而在 Node.js (以下簡稱 node) 也會有全域 global 物件。

在 VS Code 打以下程式碼來觀察,可以看到 global 物件包含 a。

global.a = 1;
console.log(global);


node 的 global 跟瀏覽器 window 有一些差別,如果我們在瀏覽器 console 打 var a = 1,在 window 可以直接讀取到 a 變數,但在 node 輸入 var a = 1,不會被繼承到 global 上,想放在 global,一定要寫 global.a。每個檔案都是一個獨立的模組,一樣可以讀取、寫入和變更 global 的值,但各自的值不會輕易汙染 global 的值。

raw-image


模組化

每個檔案都是獨立模組,例如:我創建了兩個檔案 app.js 和 data.js,分別輸入 var a = 1var data = 2,但在 app.js 無法讀取到 data 的值,那我需要取得其他模組該怎麼辦?

跟 ES6 的匯入匯出概念很像,被匯出的檔案需要 export + 資料,在目標地匯入使用 import + 路徑。node 則是被匯出的檔案加上 module.exports + 資料,在目標地匯入使用 require + 路徑。

app.js 檔

var content = require('./data');
var a = 1;

console.log(a);
console.log(content);
console.log(content.data);
console.log(content.bark()); // 執行匯入的函式

data.js

  • 依照需求來設計匯出的資料格式
var data = 2;

module.exports = data;

// or
module.exports = {
content: data,
title: 'title',
};

// or
exports.data = 2;
// 等同於
module.exports = {
data: 2,
};

// or​
exports.bark = function() {
return 'bark!!!'
}


exports 寫法不混用

exports 和 module.exports 兩種不能混用,exports 會被 module.exports 覆蓋。

exports.bark = function() {
return 'bark!!!'
}

module.exports = {
data: 2,
};


參考資料

主要放程式學習筆記,分享 Creative Coding 相關內容、作品
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Global Recognition Awards Introduces Recognition StandardsGlobal Recognition Awards Introduces Recognition Standards, Which Are Establishing New Benchmarks in the Business Sector   New York, NY - 07/03/2024
avatar
EQS Newswire
2024-03-07
Global Pioneers Conference Catches Eyes of Chinese InfluentiGlobal Pioneers Conference Catches Eyes of Chinese Influentials with New Insights into Overseas Markets Exploration   Global Pioneers Conference 202
avatar
EQS Newswire
2023-12-22
Global Economics Analyst|2024年|Goldman SachsGlobal Economics Analyst|2024年|Goldman Sachs 高盛上周發表的2024經濟看法,給各位參考
Thumbnail
avatar
還是變成大叔的 Rex
2023-11-19
Input Output Global (IOG) Hydra團隊釋出Hydra 0.12.0版Hydra釋出0.12.0版本,其主要的功能包括...
Thumbnail
avatar
Cardano的那些事
2023-08-22
美國Global Entry 網路申請手把手教學簡介 什麼是global entry? Global Entry是美國海關快速通道,可以直接透過機器檢查並完成入境手續,一來不用跟其他人大排長龍,而且不用被海關問問題
Thumbnail
avatar
矽谷jojo
2023-04-16
Trend of Global Start-ups 全球新創概況本文將簡介全球主要經濟體新創以及產業的趨勢(2022年底為止)。 主要經濟體新創概況 資料來源: CB Insight以及大家最近應該特別熟悉的 SVB(矽谷銀行) 北美 首先,全世界約有59%的新創來自於美國。以2019年為例,美國新創公司數目高達71,153,排行世界第二的僅有13,125。並且
Thumbnail
avatar
CGA
2023-03-13
WOO X Global 交易所介紹,以及它如何成為免手續費的合約交易所?Woo X 原名為 Woo Network,於2021年8月推出WOO X 交易所,它採用了公開透明的訂單流付款方式(Payment For Order Flow),其最主要的優勢是讓用戶可以實現零手續費的特點。 這邊將對WOO X Global 交易所的背景、安全性做介紹
Thumbnail
avatar
AZ
2023-01-15
GLOBAL VISION 9月精選新聞整理1. #中國 #限電危機 #德國#NBA
Thumbnail
avatar
Julian Yang
2021-10-04
Grupo Global:90歲老牌媒體公司進行數位轉型的成功經驗!科技快速更新換代,一個過往非常成功的企業可能突然之間就會被新進的對手擊倒,光靠坐擁過往所累績的優勢已經無法跟上這個時代的脈動了,數位轉型已然是企業永續經營的重要課題。但是要怎麼成功地進行數位轉型呢?讓我們來看看一個老牌媒體公司的成功經驗!
Thumbnail
avatar
哈利熊HoliBear
2020-03-11