2017-08-24 76 views
0

我正在嘗試從節點應用程序寫入全局對象到文件。從節點應用程序寫入全局對象到文件

作爲一個起點,我知道在控制檯中編寫Function('return this')會將全局對象與所有成員一起輸出。

所以我想以下幾點:

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

,但它只是寫[object global]到文件

  • 爲什麼是輸出的文件比在控制檯輸出有什麼不同?
  • 如何輸出整個全局對象到文件?
+0

JSON.stringify(函數('return this')) –

+0

謝謝你試圖提供幫助。我得到「未捕獲的異常:TypeError:在JSON.stringify()...」中轉換圓形結構爲JSON ...「 – user1283776

+0

如果您嘗試使用JSON.stringify圓形對象,請嘗試使用此函數https://stackoverflow.com/a/ 31557814/1951115 –

回答

2

您必須將字符串傳遞到您寫入的文件的主體。使用

JSON.stringify(myObj) 

假設Function返回一個對象,你可以這樣做:

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

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

你應該把故障安全檢查也。

+0

謝謝你試圖提供幫助。我得到「未捕獲的異常:TypeError:在JSON.stringify()...」 – user1283776

+0

@ user1283776將循環結構轉換爲JSON,請把完整的代碼片段?輸出'函數'以及如果短包含在問題中。 –