读取一个与app.js位于同一目录中的txt文件时遇到了挑战。
在挑战中,我无法使用require
,因此无法将fs.readFileSync
导入我的应用。
寻找其他方法来console.log
txt内容。有什么想法吗?
答案 0 :(得分:2)
无需显式使用require
,就可以使用:module.constructor._load
或process.mainModule.constructor._load
const fs = module.constructor._load('fs');
console.log(fs.readFileSync('./test.txt'));
请注意,如果没有输入脚本,则process.mainModule
将是undefined
。 (不是你的情况)
当然,这不应在生产代码中使用,因为它是未记录的API,并且可能会更改。但是会为您的挑战做准备。
忘记提及我必须将其作为节点app.js运行
否则,您也可以使用ES6模块,但这需要附加标志:node --experimental-modules app.js