我正在构建一个节点 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'
然而,这在另一台电脑上运行得很好,当我试图在我的系统上运行我的应用程序时,我注意到了这一点。