首页 > 解决方案 > 如何使用nodejs读取js文件并将默认导出模块解析为JSON

问题描述

在 Node.js 中,我希望能够读取包含 ES 模块语法的 sample.js 文件并解析默认导出。

示例.js

import foo from "foo";

const bar = [
  {
    name: "Homer",
  },
  {
    name: "Marge",
  },
  {
    name: "Bart",
  },
  {
    name: "Lisa",
  },
  {
    name: "Maggie",
  },
];

export const addOne = (num) => num + 1;

export default bar;

到目前为止,我的 node.js 脚本只是读取文件内容并将其输出到 console.log。这是我的 node.js 脚本:

index.js

const fs = require("fs");

fs.readFile("./sample.js", "utf8", (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(data);
  // how can I parse the default export from data?
});

[{"name":"Homer"},{"name":"Marge"},{"name":"Bart"},{"name":"Lisa"},{"name":"Maggie"}]如果我可以在读取文件后以某种方式获取字符串,那么我可以简单地执行JSON.parse并获取我需要的数据。但这似乎不是一项微不足道的任务。如何读取原始 js 文件并将默认导出解析为 JSON?

标签: javascriptnode.jsjson

解决方案


你可以简单地

import data from './sample.js';

console.log(data);

另外,请确保package.json您有这一行:"type": "module".


推荐阅读