1.2.1 • Published 6 years ago
nestjs-dotenv v1.2.1
NestJS .env config Module

More NestJS libs on alariblog.ru
NestJS .env package allows you easily use .env file to store your app configs.
npm i nestjs-dotenvThen register module in your root app.module
import { ConfigModule } from 'nestjs-dotenv';
@Module({
imports: [
// ...
ConfigModule.forRoot(),
],
})
export class AppModule {}It will load .env file from your project root. If you need to change it's path just pass it to forRoot method like this:
ConfigModule.forRoot(myPath);To use ConfigService in any service or controller just inject it with @ConfigInjection decorator in the constructor:
import { ConfigService } from 'nestjs-dotenv';
constructor(
private readonly configService: ConfigService
) {}Get env value
To get a value from .env file just call get() method:
this.configService.get('JIRA_TOKEN');- JIRA_TOKEN - name of your key in
.envfile:
JIRA_TOKEN=0000000000000Method returns string.
Get env value and convert it to specific type
Instead of get() method use getWithType():
this.configService.getWithType('JIRA_TOKEN', 'string');getWithType() get 3 parameters:
- name of your key in
.envfile. - type of your data in
.envfile. - (optional) Enum to convert data to, if your type is 'enum'.
Available types:
// 'number'
VALUE=1
// 'string'
VALUE=mystring
// 'boolean'
VALUE=true
// 'array'
VALUE=[1,2,3]
// 'object'
VALUE={"key": "value"}
/** 'enum'
enum Color {
White = 1
Black = 2
} **/
VALUE=WhiteReloading file
To reload env dynamically use reload() method:
this.configService.reload();