我有这个模块
export default () => ({
environment: process.env.ENVIRONMENT,
port: process.env.PORT
database: {
host: process.env.DATABASE_HOST,
port: process.env.DATABASE_PORT,
username: 'postgres',
password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME,
},
awsSqsDefaultQueueUrl: process.env.AWS_SQS_DEFAULT_QUEUE_URL,
sqsEndpoint: process.env.SQS_ENDPOINT,
})
我想阅读它并创建一个平面键/值对象,仅当值以 开头时才将其键变平process.env,如下所示:
{
ENVIRONMENT: configuration().environment,
PORT: configuration().port,
DATABASE_HOST: configuration().database.host
DATABASE_PORT: configuration().database.port
...
}
database.username不会在新对象键中,因为它的值不是以process.env.
我能想到的唯一方法是在没有评估之前读取键值是通过将文件加载为字符串,然后使用正则表达式解析它。但这感觉不对。
有没有更好的方法来实现这一目标?
开心每一天1111
相关分类