【发布时间】: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