【发布时间】:2021-07-10 23:34:12
【问题描述】:
我正在使用nest.js,我想导入在 auth.parameters.ts 文件中定义的对象。文件定义如下。除非在类中声明了以下变量,否则环境变量似乎不可见。
export const obj = {
somevar : process.env.CUSTOM_VAR,
};
在我的其他课程中,我想使用 import {SecurityParameters } from '../auth/auth.parameters' 导入文件
并使用 console.log(SecurityParameters.somevar) 访问变量。
我可以使用 process.env.CUSTOM_VAR 或直接访问变量
如果我在其他文件中使用 somevar : process.env.CUSTOM_VAR,我会得到未定义。
【问题讨论】:
-
您是否使用
.env文件、dotenv、@nestjs/config?我们需要更多信息。 -
是的,我使用 .env 文件。我认为 process.env 变量只在课堂上有效。如果对象未在类中声明,则不可见。
-
如何从
.env文件中填充process.env?dotenv或@nestjs/config或其他完全不同的东西? -
我使用 .env 进行填充,并且我在 app.module.ts 中有 @nestjs/config 并将 isGobal 设置为 true。我的环境变量在所有文件中都可见,除了定义 const obj 的文件
-
这意味着在加载
@nestjs/config之前,某些模块会加载/导入'../auth/auth.parameters',但它是在您的类被实例化时加载的。
标签: javascript node.js nestjs