我正在构建一个节点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'
然而,这在早期在不同的电脑上运行良好,我在试图运行我时注意到了这一点 在我的系统上的应用程序。
答案 0 :(得分:1)
这是版本的问题,我使用的是v0.6.12没有那种方法,我升级到v0.10.0解决了它,感谢michaelt指出它。