将全局对象从节点应用程序写入文件

时间:2017-08-24 09:00:20

标签: javascript node.js

我正在尝试从节点应用程序将全局对象写入文件。

作为一个起点,我知道在控制台中编写Function('return this')会输出包含所有成员的全局对象。

所以我正在尝试以下方法:

var fs = require("fs");
fs.writeFile("/Users/myuser/Desktop/log.txt", Function('return this')());

但它只是将[object global]写入文件

  • 为什么文件中的输出与控制台中的输出不同?
  • 如何将整个全局对象输出到文件?

1 个答案:

答案 0 :(得分:2)

您必须将字符串传递给您写入的文件的正文。使用

JSON.stringify(myObj)

假设Function返回一个对象,你可以这样做:

var body = JSON.stringify( Function('return this')() );

fs.writeFile("/Users/myuser/Desktop/log.txt", body);

您还应该进行故障安全检查。