Javascript 如何读取js文件并使用nodejs将默认导出模块解析为JSON
在Node.js中,我希望能够读取包含ES模块语法的sample.js文件,并解析默认导出 sample.jsJavascript 如何读取js文件并使用nodejs将默认导出模块解析为JSON,javascript,node.js,json,Javascript,Node.js,Json,在Node.js中,我希望能够读取包含ES模块语法的sample.js文件,并解析默认导出 sample.js 从“foo”导入foo; 常数条=[ { 姓名:“荷马”, }, { 姓名:“玛姬”, }, { 姓名:“巴特”, }, { 姓名:“丽莎”, }, { 姓名:“玛姬”, }, ]; 导出常量addOne=(num)=>num+1; 导出默认栏; 到目前为止,我的node.js脚本只是读取文件内容并将其输出到console.log。以下是我的node.js脚本: index.js c
从“foo”导入foo;
常数条=[
{
姓名:“荷马”,
},
{
姓名:“玛姬”,
},
{
姓名:“巴特”,
},
{
姓名:“丽莎”,
},
{
姓名:“玛姬”,
},
];
导出常量addOne=(num)=>num+1;
导出默认栏;
到目前为止,我的node.js脚本只是读取文件内容并将其输出到console.log。以下是我的node.js脚本:
index.js
const fs=require(“fs”);
fs.readFile(“./sample.js”,“utf8”,(err,data)=>{
如果(错误){
控制台错误(err);
返回;
}
控制台日志(数据);
//如何从数据解析默认导出?
});
如果我能够在读取文件后以某种方式获得字符串[{“name”:“Homer”},{“name”:“Marge”},{“name”:“Bart”},{“name”:“Lisa”},{“name”:“Maggie”}]
,那么我就可以简单地执行JSON.parse
并获得我需要的数据。但这似乎不是一项微不足道的任务。如何读取原始js文件并将默认导出解析为JSON?您只需
import data from './sample.js';
console.log(data);
另外,确保在
package.json
中有这样一行:“type”:“module”
如果有原因不能按照其他评论者的建议执行,您可以使用类似babel或acorn的ast生成器。显示acorn对代码的解析。您可以在树中搜索要查找的值,拉出子字符串。为什么不使用require()
或import
实际导入文件,然后直接访问导出的值?谢谢。我有一种感觉,我在做一些奇怪的事情。最后我使用了require('sample')。默认值感谢您的建议。不幸的是,我无法遵循您的建议,因为我的一些节点模块不能以这种方式很好地工作。但是,我可以在node.js脚本中使用esm
npm包,并且可以使用import
,我也在考虑这个问题,但很高兴我不必这么做,因为我可以简单地要求或导入
:)