Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nestJs句柄环境变量_Javascript_Node.js_Nestjs_Dotenv - Fatal编程技术网

Javascript nestJs句柄环境变量

Javascript nestJs句柄环境变量,javascript,node.js,nestjs,dotenv,Javascript,Node.js,Nestjs,Dotenv,我将在nestjs中配置enivrement变量,如文档中所述: 在我的服务构造函数中,我得到env文件路径 import * as dotenv from 'dotenv'; import * as fs from 'fs'; export class ConfigService { private readonly envConfig: { [key: string]: string }; constructor(filePath: string) { this.envC

我将在nestjs中配置enivrement变量,如文档中所述:

在我的服务构造函数中,我得到env文件路径

import * as dotenv from 'dotenv';
import * as fs from 'fs';

export class ConfigService {
  private readonly envConfig: { [key: string]: string };

  constructor(filePath: string) {
    this.envConfig = dotenv.parse(fs.readFileSync(filePath))
    console.log(this.envConfig)
  }

  get(key: string): string {
    return this.envConfig[key];
  }
}
然后在配置模块中设置配置服务

  providers: [
    {
      provide: ConfigService,
      useValue: new ConfigService(`${process.env.NODE_ENV}.env`),
    },
  ],
  exports: [ConfigService],
})
当前行为

实际上,我得到的process.env.NODE_env值未定义

预期行为


get env variable path in process.env.NODE_env

我也遇到过同样的问题。Easy通过在文件main.ts中手动导入dotenv修复了此问题,如以下示例所示。请确保已安装dotenv:

从'@nestjs/core'导入{NestFactory}; 从'dotenv'导入{config}; 配置; //所有其他代码 希望能有帮助

提供所需的文件路径值。例如,它是my_test.env,然后您必须将节点_env设置为my_test,我们有太多的方法来设置节点_env环境变量值,一种简单的方法NODE_env=my_test npm run start可能重复的也可以看到这个答案