Baseline 2023
Newly available
import.meta.resolve()
㯠JavaScript ã¢ã¸ã¥ã¼ã«ã® import.meta
ãªãã¸ã§ã¯ãã§å®ç¾©ããã¦ããçµã¿è¾¼ã¿é¢æ°ã§ãç¾å¨ã®ã¢ã¸ã¥ã¼ã«ã® URL ããã¼ã¹ã¨ãã¦ã¢ã¸ã¥ã¼ã«æå®åã URL ã«è§£æ±ºãã¾ãã
import.meta.resolve(moduleName)
弿°
moduleName
ã¤ã³ãã¼ãå¯è½ãªã¢ã¸ã¥ã¼ã«ãæå®ããæååãããã¯ç¸å¯¾ãã¹ï¼"./lib/helper.js"
ãªã©ï¼ããã¢åï¼"my-module"
ãªã©ï¼ã絶対 URLï¼"https://example.com/lib/helper.js"
ãªã©ï¼ã®ããããã§ãã
弿°ã import()
ã«æ¸¡ãããå ´åã«ã¤ã³ãã¼ãããããã¹ã«å¯¾å¿ããæååãè¿ãã¾ãã
import.meta.resolve()
ã«ãããã¹ã¯ãªãããæ¬¡ã®ããã«ååã®ã¢ã¸ã¥ã¼ã«æå®å解決ã¢ã«ã´ãªãºã ã«ã¢ã¯ã»ã¹ãããã¨ãã§ãã¾ãã
// Script at https://example.com/main.js
const helperPath = import.meta.resolve("./lib/helper.js");
console.log(helperPath); // "https://example.com/lib/helper.js"
import.meta.resolve()
ã¯è§£æ±ºãè¡ãã ãã§ãããçµæã®ãã¹ããã¼ããããã¤ã³ãã¼ããããã¨ã¯ããªããã¨ã«æ³¨æãã¦ãã ãããï¼ãã®åä½ã®çç±ã¯ä»æ§ã®èª¬æã«è¨è¿°ããã¦ãã¾ããï¼ãã®ãããè¿ããããã¹ãåå¨ãããã¡ã¤ã«ã«å¯¾å¿ãã¦ãããã©ãããããã®ãã¡ã¤ã«ãã¢ã¸ã¥ã¼ã«ã®æå¹ãªã³ã¼ããå«ãã§ãããã©ããã«é¢ä¿ãªãããã®è¿å¤ã¯åãã§ãã
ããã¯åçã¤ã³ãã¼ãã¨ã¯ç°ãªãã¾ããã©ã¡ãã第 1 弿°ã¨ãã¦ã¢ã¸ã¥ã¼ã«æå®åãåãåãã¾ããã import.meta.resolve()
ã¯ãã®ãã¹ã«ã¢ã¯ã»ã¹ãããã¨ãããã¨ãªããã¤ã³ãã¼ããããã§ããããã¹ãè¿ãã¾ãããããã£ã¦ã次㮠2 ã¤ã¯å®è³ªçã«åãã³ã¼ãã§ãã
// ã¢ããã¼ã 1
console.log(await import("./lib/helper.js"));
// ã¢ããã¼ã 2
const helperPath = import.meta.resolve("./lib/helper.js");
console.log(await import(helperPath));
ãããã "./lib/helper.js"
ãæ£å¸¸ã«ã¤ã³ãã¼ãã§ããªãã¦ãã 2 è¡ç®ã®ã¹ãããããã¤ã³ãã¼ããå®è¡ããã¾ã§ã¨ã©ã¼ã¯çºçãã¾ããã
ãã®ååã«å¯¾ãã¦ã¢ã¸ã¥ã¼ã«è§£æ±ºãå®ç¾©ããã¦ããã°ã import.meta.resolve()
ã«ç´ ã®ã¢ã¸ã¥ã¼ã«åï¼ç´ ã®ã¢ã¸ã¥ã¼ã«æå®åã¨ãã¦ãç¥ããã¦ãã¾ãï¼ã渡ããã¨ãã§ãã¾ããä¾ãã°ããã©ã¦ã¶ã¼å
ã§ã¤ã³ãã¼ããããã使ã£ã¦å®ç¾©ãããã¨ãã§ãã¾ãã
<!-- index.html -->
<script type="importmap">
{
"imports": {
"my-module": "./modules/my-module/index.js"
}
}
</script>
<script type="module">
const moduleEntryPath = import.meta.resolve("my-module");
console.log(moduleEntryPath);
</script>
ç¹°ãè¿ãã¾ããããã®ã¹ãããã㯠moduleEntryPath
ãã¤ã³ãã¼ããããã¨ããªãã®ã§ãã¤ã³ãã¼ãããããã¤ã³ãã¼ããã¾ããã
URL()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯ 2 çªç®ã®ãã¼ã¹ URL 弿°ãåãä»ãã¾ããæåã®å¼æ°ãç¸å¯¾ãã¹ã§ããã¼ã¹ URL ã import.meta.url
ã®å ´åã import.meta.resolve()
ã¨åæ§ã®å¹æãããã¾ãã
const helperPath = new URL("./lib/helper.js", import.meta.url).href;
console.log(helperPath);
ããã¯ãå¤ããã©ã¦ã¶ã¼ãã¿ã¼ã²ããã«ããå ´åã«ã便å©ãªç½®ææ§æã§ãããã ããããã¤ãã®éããããã¾ãã
import.meta.resolve()
ã¯æååãè¿ãã new URL()
㯠URL
ãªãã¸ã§ã¯ããè¿ãã¾ããæ§ç¯ããã URL
ã«å¯¾ã㦠href
ã toString()
ã使ç¨ãããã¨ãå¯è½ã§ããã JavaScript ã®ç°å¢ã«ãã£ã¦ã¯ããããã¯ãã³ãã©ã¼ã®ãããªãã¼ã«ã使ç¨ãã¦ã³ã¼ããéçã«è§£æããå ´åã«ã¯ãã¾ã£ããåãçµæã«ãªããªããã¨ãããã¾ããimport.meta.resolve()
ã¯ãä¸ã§èª¬æããããã«ãã¤ã³ãã¼ããããã使ç¨ãããã¢ã¢ã¸ã¥ã¼ã«åã®è§£æ±ºãªã©ã追å ã®è§£æ±ºè¨å®ãèªèãã¾ããæ°ãã URL()
ã¯ã¤ã³ãã¼ãããããæèããããã¢ã¢ã¸ã¥ã¼ã«åãç¸å¯¾ãã¹ã¨ãã¦æ±ãã¾ãï¼ã¤ã¾ãã new URL("my-module", import.meta.url)
㯠new URL("./my-module", import.meta.url)
ãæå³ãã¾ãï¼ãããã¤ãã®ãã¼ã«ã¯ new URL("./lib/helper.js", import.meta.url).href
ã "./lib/helper.js"
ã¸ã®ä¾åé¢ä¿ï¼ã¤ã³ãã¼ãã«ä¼¼ã¦ããï¼ã¨ãã¦èªèãããã³ãã«ãç§»åãããã¡ã¤ã«ã®ã¤ã³ãã¼ãã®æ¸ãæãã"go to source" æ©è½ãªã©ã®æ©è½ã®ããã«ãããèæ
®ãã¾ãããããã import.meta.resolve()
ã¯ææ§ããå°ãªããç¹ã«ã¢ã¸ã¥ã¼ã«ãã¹ã®è§£æ±ºä¾åã示ãããã«è¨è¨ããã¦ããããããããã®ä½¿ç¨ä¾ã§ã¯å¯è½ãªéã import.meta.resolve(moduleName)
ã new URL(moduleName, import.meta.url)
ã®ä»£ããã«ä½¿ç¨ããå¿
è¦ãããã¾ãã
import.meta.resolve()
㯠JavaScript ã¢ã¸ã¥ã¼ã«ã® ECMAScript 仿§æ¸ã®ä¸é¨ã¨ãã¦æå®ãææ¸åãããã¦ãã¾ããããã®ä»£ããã«ããã®ä»æ§æ¸ import.meta
ãªãã¸ã§ã¯ããå®ç¾©ãã¦ãã¾ããããã®ãã¹ã¦ã®ããããã£ã "ãã¹ãå®ç¾©" ã®ã¾ã¾ã«ãã¦ãã¾ãã WHATWG HTML æ¨æºã¯ ECMAScript æ¨æºãæ®ãããã®ãããã¯ã¢ããããã¢ã¸ã¥ã¼ã«æå®åã®è§£æ±º ã使ã£ã¦ import.meta.resolve
ãå®ç¾©ãã¦ãã¾ãã
ã¤ã¾ãã import.meta.resolve()
ã¯ãã¹ã¦ã®é©åãã JavaScript å®è£
ã§å®è£
ãããå¿
è¦ã¯ããã¾ããããããã import.meta.resolve()
ã¯ãã©ã¦ã¶ã¼ä»¥å¤ã®ç°å¢ã§ãå©ç¨ã§ããããããã¾ããï¼
--experimental-import-meta-resolve
ã¨ããå®è£
ããããç¾å¨ã¯æååã®ä»£ããã« Promise
ãè¿ãã¾ããimport.meta.resolve()
ã¯ã Worker()
ã³ã³ã¹ãã©ã¯ã¿ã¼ã®ããã«ãã¹ã¯ãªãããã¡ã¤ã«ã¸ã®ãã¹ã弿°ã¨ãã¦åãåã API ã§ç¹ã«æç¨ã§ãã
// main.js
const workerPath = import.meta.resolve("./worker.js");
const worker = new Worker(workerPath, { type: "module" });
worker.addEventListener("message", console.log);
// worker.js
self.postMessage("hello!");
ããã¯ããµã¼ãã¹ã¯ã¼ã«ã¼ ã å ±æã¯ã¼ã«ã¼ ãªã©ãä»ã®ã¯ã¼ã«ã¼ã®ãã¹ãè¨ç®ããã®ã«ã便å©ã§ãããã ããç¸å¯¾ãã¹ã使ç¨ãã¦ãµã¼ãã¹ã¯ã¼ã«ã¼ã® URL ãè¨ç®ããå ´åãæ¢å®ã§ã¯è§£æ±ºããããã¹ã®ãã£ã¬ã¯ããªã¼ãç»é²ã¹ã³ã¼ããæ±ºå®ãããã¨ã«æ³¨æãã¦ãã ããï¼ãã ããç»é²æã«å¥ã®ã¹ã³ã¼ããæå®ãããã¨ãã§ãã¾ãï¼ã
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ å ±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