Pokud používáte moduly EcmaScript, pravděpodobně znáte problém, že nelze „jen“ importovat soubory JSON. Chcete-li importovat a načíst soubor JSON v modulu ES, musíte provést "window.fetch tanec", abyste si soubor vyžádali a sami jej analyzovali. Není to skvělé...
Ale je tu naděje! Podle chromestatus.com se moduly JSON dodávají v prohlížeči Chrome 91. Rychle jsem to zkusil a překvapivě následující kód JavaScript nefunguje.
<script type="module">
import data from "./data.json";
console.log(data);
</script>
V Chrome 91 vyvolá následující výjimku:
Neprohlédl jsem si podrobně diskuzi o specifikacích na toto téma, ale zdá se, že nová syntaxe pro import modulů JSON je následující. 😲
import data from "./data.json" assert { type: "json" };
console.log(data);
To je docela něco a musím si o tom něco přečíst. Ale co, co usnadňuje import JSON, je více než vítáno!
A když je v Chrome řešení, nemůže trvat dlouho, než bude odesláno v Node.js, protože import souborů JSON v modulech Node ES také není skvělý. 🙈
Upravit: Axel Rauschmayer sdílel, že import JSON je založen na tvrzeních importu a více si o tom můžete přečíst na jeho blogu.