node js fs module表示对象没有方法appendFile

时间:2013-03-16 06:31:31

标签: javascript node.js module fs

我正在构建一个节点js app(用于学习),我将每个操作记录到一个名为log.txt的文件中

记录器模块具有以下代码:

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'

然而,这在早期在不同的电脑上运行良好,我在试图运行我时注意到了这一点 在我的系统上的应用程序。

1 个答案:

答案 0 :(得分:1)

这是版本的问题,我使用的是v0.6.12没有那种方法,我升级到v0.10.0解决了它,感谢michaelt指出它。