2
我收到以下錯誤下面執行代碼:的NodeJS - 打印在另一個JS未定義主叫功能文件
Failed: path must be a string
Stack:
TypeError: path must be a string
at TypeError (native)
at Object.fs.readFile (fs.js:250:11)
的代碼是冉如下:
this.getNodeValueFromXML = function(xmlPath,node){
var self = this;
try {
var file = path.join(__dirname, xmlPath)
fs.readFile(file, function(err, data) {
if(err){
logger.warnLogger(err,'Error while processing XML file!!');
}
else{
parser.parseString(data, function (err, result) {
if(err){
logger.warnLogger(err,'Not a valid file!!');
}
else {
var value=self.getValueFromJson(result,node);
return value;
}
});
}
});
}
catch(e){
if (e.code !== 'ENOENT') {
throw e
} else {
logger.warnLogger(e,'File not found!');
}
}
};
我打電話這使用以下語法
commonFunction.getNodeValueFromXML("../my.xml",'user.name');
此前據給錯誤其他js文件。將更改作爲path.join(__dirname, xmlPath)
進行修改後,它可以正常工作,但調用另一個函數js
未定義文件打印。
有人能幫助
使用'path.join(__目錄名稱,「../ my.xml」)' –
仍然給了同樣的錯誤 – Abhinav
@Abhinav我剛纔打電話給你功能相同的文件與一些靜態文件的路徑和它的正常工作和獲得「文件未找到!!「,你能重新檢查你的文件上的錯誤和行號嗎? – abdulbarik