楽ができるNodeのバージョン
Node.jsv17.5~
もしくはv16
の--experimental-json-modules
オブションを使えば利用できます。
/* index.js */
// An import assertion in a static import
import info from `./package.json` assert { type: `json` };
// An import assertion in a dynamic import
const { default: info } = await import("./package.json", {
assert: {
type: "json",
},
});
v16
でオプション付きで実行する場合は$ node --experimental-json-modules index.js
と実行します。
ちなみに--experimental-wasm-modules
というオプションでwasm
も読み込めます。
対象のバージョン以外でやる方法
- JSONを読み込み自力でパースする
import { readFile } from 'fs/promises';
const json = JSON.parse(
await readFile(
new URL('./some-file.json', import.meta.url)
)
);
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const data = require("./data.json");
参考
本記事のソースコードおよび内容は以下のリンク先から引用しています。