1

各操作をlog.txtというファイルに記録するノードjsアプリ(学習用)を構築しています

ロガー モジュールには次のコードがあります。

var fs = require('fs');

function write(data,filename)
{
  var entry = 'Time: '+new Date();
  if(filename !=null || filename != undefined) entry = entry+'\n\tFile: '+filename;
  if(data !=null || data != undefined) entry = entry+'\n\tMessage: '+data;
  entry = entry+'\n';

  fs.appendFile('./log.txt',entry,function(err){
      if(err){console.log('Log NOT Appended with data:\n\t'+entry);}
      else{console.log('Log Appended with data:\n\t'+entry);}
  });
}

exports.write = write;

今私のapp.jsで私はそれを次のように要求しています:

var logger = require('./logger');

var fs = require('fs');

function ReadFile()
{

  var data = fs.readFileSync('./config.txt');
  if(data==null) 
          logger.write("Config data not found");
  else
      logger.write(data,"app.js");
}

ReadFile();

これにより、次のようなエラーが返されます。

 Object #<Object> has no method 'appendFile'

ただし、これは以前は別の PC で正常に機能していましたが、自分のシステムでアプリを実行しようとしたときにこれに気付きました。

4

1 に答える 1

1

これはバージョンの問題でした。私はその方法を持たない v0.6.12 を使用していました。それを指摘してくれた michaelt に感謝して、v0.10.0 にアップグレードして解決しました。

于 2013-03-17T12:23:30.707 に答える