Node.js 学习笔记

257 阅读1分钟

nodejs ESM方式怎么引入json文件?

  1. node --experimental-json-modules index.mjs

  2. 通过fs读取json文件,再解析成json;

import { readFile } from 'fs/promises'; 
const json = JSON.parse(
    await readFile( new URL('./some-file.json', import.meta.url)
    )
);
  1. 模拟实现下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));