【问题标题】:node js fs module says object does not have method appendFilenode js fs模块说对象没有方法appendFile
【发布时间】:2014-02-16 07:02:45
【问题描述】:

我正在构建一个节点 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'

不过,这在之前在另一台电脑上运行良好,但我在尝试运行我的电脑时注意到了这一点 我的系统上的应用程序。

【问题讨论】:

  • 你能分享你在故障电脑上使用的节点版本吗? appendFile 是从 v0.8 开始提供的更新方法
  • @michaelt 我用的是v0.6.12,可能是这个问题,我试试更新看看能不能用,谢谢
  • 是的,已经解决了,更新到 v0.10.0 现在可以使用了,谢谢

标签: javascript node.js module fs


【解决方案1】:

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

【讨论】:

  • n00b 问题,但是如何升级到最新版本。
  • @jtromans 您可以使用 nvm(节点版本管理器)或简单的另一个名为“n”的模块来升级和维护系统上的节点版本,有关更多详细信息,请参阅这篇文章 - stackoverflow.com/questions/8191459/…跨度>
猜你喜欢
  • 2015-01-17
  • 2014-04-24
  • 2015-03-09
  • 2016-08-20
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
相关资源
最近更新 更多