Baseline Widely available *
import.meta
ìì±ì 모ëì ë©í ë°ì´í°ë¥¼ JavaScript 모ëì ë
¸ì¶í©ëë¤. ì¬ê¸°ìë URLê³¼ ê°ì 모ëì ëí ì ë³´ê° í¬í¨ë©ëë¤.
import.meta
ê°ì²´ë í¸ì¤í¸ íê²½(ë¸ë¼ì°ì ëë Node.js ë±)ìì 모ë ìì±ì ì°ê¸° ê°ë¥íê³ (writable), 구ì±í ì ìì¼ë©°(configurable), ì´ê±°í ì ìë(enumerable) íì¥ ê°ë¥í(extensible) null
-prototype ê°ì²´ë¡ ë§ë¤ì´ì§ëë¤. ì¬ììë ì´ ê°ì²´ì ì ìí ìì±ì´ ëª
ìëì´ ìì§ ìì§ë§, í¸ì¤í¸ë ì¼ë°ì ì¼ë¡ ë¤ìê³¼ ê°ì ìì±ì 구íí©ëë¤:
url
모ëì ëí ì ì²´ URLì
ëë¤. ì´ë 쿼리 매ê°ë³ì(?
) ëë í´ì(#
)를 í¬í¨í©ëë¤. ë¸ë¼ì°ì ììë ì¤í¬ë¦½í¸ë¥¼ ê°ì ¸ì¨ URL(ì¸ë¶ ì¤í¬ë¦½í¸ì ê²½ì°)ì´ê±°ë í¬í¨ë 문ìì URL(ì¸ë¼ì¸ ì¤í¬ë¦½í¸ì ê²½ì°)ì
ëë¤. Node.jsììë file://
ì ê°ì íë¡í ì½ì í¬í¨í íì¼ ê²½ë¡ì
ëë¤.
resolve
íì¬ ëª¨ëì URLì 기본ì¼ë¡ ì¬ì©íì¬ ëª¨ë ì§ì ì를 URLë¡ í´ìí©ëë¤.
import.meta
구문ì í¤ìë import
, ì (.
), ìë³ìë¡ êµ¬ì±ë©ëë¤. import
ë ìë³ìê° ìë ìì½ì´ì´ë¯ë¡ ìì± ì ê·¼ìê° ìëë¼ í¹ì ííì 구문ì
ëë¤.
import.meta
ìì±ì JavaScript 모ëìì ì¬ì©í ì ìì¼ë©°, 모ë ì¸ë¶ìì import.meta
를 ì¬ì©íê±°ë 모ë ë´ìì ì§ì eval()ì ì¬ì©íë ê²½ì°, 구문 ì¤ë¥ê° ë°ìí©ëë¤.
import
ì§ì ìì 쿼리 매ê°ë³ì를 ì¬ì©íë©´ 모ëë³ ì¸ì를 ì ë¬í ì ìì¼ë©°, ì´ë ì í리ì¼ì´ì
ì ì²´ìì 매ê°ë³ì를 ì½ë ê²ê³¼ ìí¸ë³´ìì ì¼ ì ììµëë¤.(ë¸ë¼ì°ì ì ê²½ì° window.location
, Node.jsì ê²½ì° process.argv
). ì를 ë¤ë©´ ë¤ì HTMLì´ ììµëë¤:
<script type="module">
import "./index.mjs?someURLInfo=5";
</script>
index.mjs
모ëì import.meta
를 íµí´ someURLInfo
매ê°ë³ì를 ê²ìí ì ììµëë¤:
// index.mjs
new URL(import.meta.url).searchParams.get("someURLInfo"); // 5
모ëì´ ë¤ë¥¸ 모ëì ê°ì ¸ì¬ ëë ë§ì°¬ê°ì§ì ëë¤:
// index.mjs
import "./index2.mjs?someURLInfo=5";
// index2.mjs
new URL(import.meta.url).searchParams.get("someURLInfo"); // 5
Node.jsì ES modules 구íì ë ë²ì§¸ ìì(index2.mjs
)ì ê°ì´ 쿼리 매ê°ë³ì(ëë í´ì)ê° í¬í¨ë 모ë ì§ì ì ì ê·¼ì ì§ìí©ëë¤.
ê·¸ë¬ë, Node.jsì CLI ëª
ë ¹(ì: node index.mjs?someURLInfo=5
)ì íµí´ 모ëì ì§ì í ê²½ì° ì¿¼ë¦¬(?
) ëë í´ì(#
)를 ì¬ì©í ì ììµëë¤. CLI ìí¸ë¦¬í¬ì¸í¸ë CommonJSì ì ì¬í 모ë í´ìì ì¬ì©í기 ë문ì ê²½ë¡ë¥¼ URLì´ ìë íì¼ ê²½ë¡ë¡ ì·¨ê¸í기 ë문ì
ëë¤. ìí¸ë¦¬í¬ì¸í¸ 모ëì 매ê°ë³ì를 ì ë¬íë ¤ë©´ CLI ì¸ì를 ì¬ì©íê³ ëì process.argv
를 íµí´ 매ê°ë³ì를 ì½ì´ì¼ í©ëë¤(ì: node index.mjs --someURLInfo=5
).
Node.js CommonJS 모ëìë íì¬ ëª¨ëì´ í¬í¨ë í´ëì ì ë ê²½ë¡ë¥¼ í¬í¨íë __dirname
ë³ìê° ìì¼ë©°, ì´ë ìë ê²½ë¡ë¥¼ ì ë ê²½ë¡ë¡ ì¹ííë ë° ì ì©í©ëë¤. ê·¸ë¬ë ES modulesì import.meta
를 ì ì¸íê³ ë 컨í
ì¤í¸ ë³ì를 ê°ì§ ì ììµëë¤. ë°ë¼ì íì¼ì ìì¹ë¥¼ ì ë ê²½ë¡ë¡ ì¹íí ë import.meta.url
ì ì¬ì©í ì ììµëë¤. ì´ ê²½ì° íì¼ ìì¤í
ê²½ë¡ê° ìë URLì ì¬ì©íë¤ë ì ì ì ìíì¸ì.
ì´ì (CommonJS):
const fs = require("fs/promises");
const path = require("path");
const filePath = path.join(__dirname, "someFile.txt");
fs.readFile(filePath, "utf8").then(console.log);
ì´í (ES modules):
import fs from "node:fs/promises";
const fileURL = new URL("./someFile.txt", import.meta.url);
fs.readFile(fileURL, "utf8").then(console.log);
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4