nodejs ESM方式怎么引入json文件?
-
node --experimental-json-modules index.mjs -
通过fs读取json文件,再解析成json;
import { readFile } from 'fs/promises';
const json = JSON.parse(
await readFile( new URL('./some-file.json', import.meta.url)
)
);
- 模拟实现下require()方法,再require引入
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const data = require("./data.json");
promise-base
// old way have using promise-based fs methods
const { readFile } = require("fs");
const { promisify } = require("util");
const promisifiedReadFile = promisify(readFile);
promisifiedReadFile(__filename, { encoding: "utf8" })
.then(data => console.log(data));
// --------------------
// new way of using promise-based fs methods
// no util.promisify!!!
const { readFile } = require("fs").promises;
readFile(__filename, { encoding: "utf8" })
.then(data => console.log(data));
// Since Node.js v14: use promise-based fs methods
// no util.promisify!!!
const { readFile } = require("fs/promises");
readFile(__filename, { encoding: "utf8" })
.then(data => console.log(data));