首页 > 解决方案 > PM2 生态系统.config.js 嵌套环境变量

问题描述

我有一个ecosystem.config.js像这样的环境变量

ORGANIZATION: {
                "b0fd9120-deb7-55t6-b269-c1622a43e9af": {
                     ORG_NAME: "org 1",
                     RAZORPAY: {
                         KEY: 'randomkey1',
                         SECRET:'randomsecret1'
            },
        },
               "ab5003c0-deb7-11e9-334s-c1622ayyy9af": {
                    ORG_NAME: "org 2",
                    RAZORPAY: {
                        KEY: 'randomkey2',
                         SECRET:'randomsecret2'
            },
        }
    },

完整ecosystem.config.js的看起来像这样

module.exports = {

    apps: [

        // First application
        {
            name: 'Myapp',
            script: 'startserver.sh',
            max_memory_restart: '1024M',
            env_production: {
                DATABASE: 'a',
                USERNAME: 'a',
                PASSWORD: 'a',
                HOST: 'd',
                PORT: '2929',
                DB_PORT: '5432',
                ORGANIZATION: {
                    "b0fd9120-deb7-55t6-b269-c1622a43e9af": {
                        ORG_NAME: "org1",
                        RAZORPAY: {
                            KEY: 'dd',
                            SECRET: 'dd'
                        },
                    },
                    "ab5003c0-deb7-11e9-334s-c1622ayyy9af": {
                        ORG_NAME: "org2",
                        RAZORPAY: {
                            KEY: 'dd',
                            SECRET: 'dd'
                        },
                    }
                },
            },

            env_staging: {
                DATABASE: 'a',
                USERNAME: 'a',
                PASSWORD: 'a',
                HOST: 'd',
                PORT: '2929',
                DB_PORT: '5432',
                ORGANIZATION: {
                    "b0fd9120-deb7-55t6-b269-c1622a43e9af": {
                        ORG_NAME: "org1",
                        RAZORPAY: {
                            KEY: 'dd',
                            SECRET: 'dd'
                        },
                    },
                    "ab5003c0-deb7-11e9-334s-c1622ayyy9af": {
                        ORG_NAME: "org2",
                        RAZORPAY: {
                            KEY: 'dd',
                            SECRET: 'dd'
                        },
                    }
                },
            }
        }
    ],
};

startserver.sh运行npm start

我正在尝试RAZORPAY.KEY使用

process.env.ORGANIZATION["b0fd9120-deb7-55t6-b269-c1622a43e9af"].RAZORPAY.KEY

但未能得到错误。

TypeError:无法读取未定义的属性“RAZORPAY”

我开始我的应用程序pm2 start ecosystem.config.js --env staging --update-env

外部的所有其他环境变量ORGANIZATION都是可访问的。

标签: node.jsenvironment-variablespm2

解决方案


推荐阅读