的問題是你沒有使用正確的參數。當調用fs.writeFile
,預計一個字符串的文件名,一個緩衝器或字符串的內容,一個對象的選項和回調函數。它看起來像你正在做的是發送選項作爲第二個參數,當它期望一個緩衝區或字符串。下面的更正;
var fs = require('fs');
fs.writeFile("json.txt", JSON.stringify({some: object}), {encoding:"utf8"}, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
你可以用一些純文本替換JSON.stringify
的一部分,如果你想,但你在你的問題中指定的JSON,所以我假設你想存儲一些對象在文件中
Source(的NodeJS文檔)
編輯:如果你想新的行添加到文件的末尾並沒有完全覆蓋舊的 在評論其他問題的聯繫會更貼近。不過,我假設fs.writeFile
是預期的功能。如果不是意圖,與其他問題將有很大的幫助更
UPDATE:
看來這個問題是一個事實,即身體沒有被解析,所以當POST請求是經過,Node沒有請求體。爲了緩解這個,快遞配置過程中,需要下面的代碼:
var bodyParser = require('body-parser');
app.use(bodyParser.json());
採用NPM模塊body-parser
。這會將JSON正文轉換爲JavaScript對象,並可通過req.body
訪問。
可能是[此問題]的副本(https://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node) – Jthorpe
可能的重複[如何追加到文件在節點?](https://stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node) –