如何在无需require('fs')的情况下读取文件-NodeJS

时间:2018-07-05 22:11:33

标签: node.js

读取一个与app.js位于同一目录中的txt文件时遇到了挑战。

在挑战中,我无法使用require,因此无法将fs.readFileSync导入我的应用。

寻找其他方法来console.log txt内容。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

无需显式使用require,就可以使用:module.constructor._loadprocess.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