javascript - Nodejs - 使用属性读取器包时出错

标签 javascript node.js properties-file

我正在尝试使用 nodejsproperties-reader 包编写通用属性读取器实用程序。以下是实现:

var propertiesReader = require('properties-reader')
var path = require('path')

var property = getPropertyFile('./fileName.properties');
console.log(getProperty(property,'user1.username'))

function getPropertyFile(err, filePath){
    if(err){
        console.log("Error occured while reading properties file: "err);
    }
    else{
        return propertiesReader(filePath);
    }
}

function getProperty(err, propertyFile, propertyName){
    if(err){
        console.log("Error occured while getting properties: ",err);
    }
    else{
        return propertyFile.get(propertyName)
    }   
}

在执行上述代码时,我在读取文件和获取属性值时遇到错误,如下所示:

E:\NodeJS\>node propertiesUtility.js
Error occured while reading properties file:  ./locatorValues.properties
E:\NodeJS\propertiesUtility.js:24
                return propertyFile.get(propertyName)
                                    ^

TypeError: propertyFile.get is not a function
    at getProperty (E:\NodeJS\propertiesUtility.js:24:23)
    at Object.<anonymous> (E:\NodeJS\propertiesUtility.js:5:13)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Function.Module.runMain (module.js:467:10)
    at startup (node.js:136:18)
    at node.js:963:3

有人可以帮我纠正我的代码吗?

最佳答案

您正在将一个'user1.username'传递给getProperty(err, propertyFile, propertyName),它是一个纯字符串,现在propertyFile是一个纯字符串

'user1.username'.get(propertyName);

除非您已将方法 get() 添加到字符串原型(prototype),否则该方法不存在。

关于javascript - Nodejs - 使用属性读取器包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39072095/

相关文章:

javascript - 调试 Node 时 VSCode 无法正确解析内联源映射

java - 如何使用 main 方法访问 Spring Boot 应用程序中 application.properties 文件中的值

java - 使用属性文件是安全的选择吗?

javascript - 如何检测 ES Module 是否是主模块?

javascript - 在jquery中动态获取输入标签onkeypress的值

javascript - 有人可以解释 sessionStorage 对象的生命周期吗?

javascript - 在 Expressjs 中本地运行文件上传时,文件保存到 OSX 上的 tmp 文件夹

javascript - 单击一次即可按升序和降序对对象数组进行排序

java - .properties 文件是否适合存储分层设置对象?

c# - 如何分离隐藏输入中的对象?