应用的配置可以放在环境变量文件里,我们可以在项目根目录下面新建一个环境变量文件,默认文件的名字是 .env ,然后在这个文件里配置一个环境变量还有对应的值,比如先添加一个 APP_AUTHOR,等号右边是这个环境变量的值,比如宁皓网。
忽略 .env
这个环境变量文件可以不做源代码管理,打开 .gitignore,在里面添加一个 .env* 。
安装 @nestjs/config
然后我们再给项目安装一个包,在终端,项目所在目录的下面,执行 npm install @nestjs/config ,安装一下 @nestjs 的 config 这个包,它里面用了 dotenv ,这个包默认可以读取 .env 文件里定义的环境变量。
配置
安装好以后再配置一下,打开 app.module,在这个模块的导入这里,添加一个 ConfigModule 用一下 forRoot 配置一下这个模块,提供一个对象,把 isGlobal 设置成 true,让这个配置模块作为一个全局模块,这样就不需要在每个模块里导入这个模块了,可以在应用的模块里直接使用它里面提供的东西。
测试
打开 app.service,比如我们要在这个服务里用一下配置服务,可以先添加一个构造方法,然后注入 ConfigService。 private configService 类型是 ConfigService,它来自 @nestjs/config 这个包。
然后修改一下 getHello 返回的值,用一下 this.configService.get 这个方法,获取到 APP_AUTHOR 。这个 APP_AUTHOR 是我们一开始在 .env 文件里定义的一个环境变量。
在 Http 客户端,请求一下应用的根,这次会返回 APP_AUTHOR 这个环境变量对应的值。