DRYな備忘録

Don't Repeat Yourself.

fsモジュールのappendFileメソッドが無い【node.js】【fs】

【問題】

node.jsからファイルの末尾に書き込みをしたいのだが、appendFileメソッドを使おうとするとnodeのconsoleに以下のようなエラーが出る。

[@bash 09:54:51] $ node server.js 

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
TypeError: Object # Object  has no method 'appendFile'
以下略

 

【原因】

ググると、

API-changes-between-v0.6-and-v0.8

fs.appendFile() および fs.appendFileSync()。
wx, wx+, ax, および ax+ モードが fs.open() および fs.openSync() に追加されました。

appendFileは新しめの追加されたメソッドみたい。

$ node --version

すると、

v0.4.12

なるほど、無いわ。

【解決】

ここから、

How to append to a file in Node?

以下、

fs.open('./data.dat','a',666,function(err,id){ 
    fs.write(id,insertText,null,'utf8',function(){
        fs.close(id,function(){ 
            console.log('data appneded!!'); 
        }); 
    }); 
}); 

【雑感】

エラー勘ついてきたかもしんない