我正在编写一个需要将配置文件作为命令行参数的 npm 模块。目前我有一个像这样的json文件:
const configurationObject = JSON.parse(await readFile(argv.configPath, 'utf8'));
有了这个,我可以像这样运行我的模块:
myModule --configPath "./source/to/config.json"
现在我想做同样的事情,但使用 .js 文件作为配置文件。
如何解析该文件并将结果对象存储到变量中?我查看了 npm 包 acorn
,但是用 acorn 解析只是给了我一个 AST,但我可以弄清楚如何将其转换为可执行代码?
// This results in a string containing the js file contents
// (readFile is fs.readFile wrapped in a Promise)
const fileInput = await readFile(argv.configPathJs, 'utf8');
// Gives me an object structure breaking down the code into an AST
acorn.parse(fileInput, {ecmaVersion: 2020});