2015-11-27 64 views
0

以下node.js測試代碼片段在第一次運行時(創建文件)完美工作,但在創建文件後無法覆蓋文件,而是生成當代碼第二次運行時出現語法錯誤:'SyntaxError:Unexpected token'。 Node文檔說fs.writeFile「將數據異步寫入文件,如果文件已存在,則替換該文件,數據可以是字符串或緩衝區。」不知道我在做什麼錯誤或失蹤,謝謝!我在節點4.2.2Node.js fs.writeFile返回意外標記語法錯誤

fs.writeFile('message.txt', 'Hello Node.js', 'utf8', function (err) { 
    if(err){ 
     throw err; 
    } 
    else{ 
     console.log('It\'s saved!'); 
    } 
}); 
+0

您的代碼在我的系統上完美工作。我在Node v4.2.1上。但我想這不是問題。 –

+0

您應該顯示發生錯誤時顯示的完整堆棧跟蹤。 – mscdex

+0

的iMac:najii JG $節點app.js 未定義:1 你好Node.js的 ^ 語法錯誤:意外標記ħ 在Object.parse(天然) 在loadDatabase(/用戶/ JG /桌面/ najii/najii -v002.js:26:16) at Object.startServer [as start](/Users/jg/Desktop/najii/najii-v002.js:128:15) at Object。 (Module.js:435:26) (Object.Module._extensions..js(module.js:442: 10) at Module.load(module.js:356:32) at Function.Module._load(module.js:311:12) at Function.Module.runMain(module.js:467:10) at啓動(node.js:136:18) – Najii

回答

0

根據您在您的評論所提供的堆棧跟蹤,你看到的錯誤是你的代碼的另一部分,沒有給你的片斷的一個問題發佈。此外,你(或其他一些函數在後臺這樣做)似乎正在嘗試JSON.parse()某些字符串,但該字符串實際上並不是(有效的)JSON(可能是HTML或某種其他類型)。如果您從HTTP響應中獲取此數據,則可能首先檢查res.headers['content-type']的值,因爲嘗試使用JSON.parse()

+0

謝謝你,mscdex,你完全正確。上面代碼中有'Hello Node.js'作爲參數之一的代碼在程序開始時被讀入,並被JSON.parse錯誤地解析...當我將該行更改爲'{「message」:「Hello Node。 js「}」它按預期工作。欣賞你對此的額外眼睛,謝謝! – Najii