1

我正在构建一个节点 js 应用程序(用于学习),我将每个操作记录到一个名为 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'

然而,这在另一台电脑上运行得很好,当我试图在我的系统上运行我的应用程序时,我注意到了这一点。

4

1 回答 1

1

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

于 2013-03-17T12:23:30.707 回答