如何使用键从javascript对象中获取项目?

时间:2019-05-12 05:40:31

标签: javascript object

我在Express应用程序的类中定义了一个javascript文件。

import dotenv from 'dotenv';
dotenv.config();

class Settings {
    static getSettings() {
        const activeEnvironment = process.env.NODE_ENV;
        console.log('active ', activeEnvironment)

        const settings = {
            development: {
                databaseName: 'foods',
            },
            production: {
                databaseName: 'foods',
            },
            test: {
                databaseName: 'testdb'
            }
        };
        settings[activeEnvironment] // returns undefined
        return settings[activeEnvironment];
    }
}

export default Settings;

但是我遇到的问题是settings[activeEnvironment]返回undefined。我已在我的启动脚本NODE_ENV

中正确导出了set NODE_ENV=production & node --require @babel/register ./bin/www

任何人都可以指出我做错了什么。我对javascript有点陌生。

谢谢。

1 个答案:

答案 0 :(得分:0)

您需要检查const activeEnvironment = process.env.NODE_ENV;的值是否为3个值之一 development, production, test

如果该值不在列表settings[activeEnvironment]中,则返回undefined。

const activeEnvironment = 'test';
        console.log('active ', activeEnvironment)

        const settings = {
            development: {
                databaseName: 'foods',
            },
            production: {
                databaseName: 'foods',
            },
            test: {
                databaseName: 'testdb'
            }
        };
        
console.log(settings[activeEnvironment])