如何在打字稿中使用 .env 文件变量?

Paw*_*wan 2 typescript dotenv

我正在将 jwt 令牌机密保存到.env文件中。

JWT_SECRET="secretsecret"

Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用获取值时,process.env.JWT_SECRET出现错误:

Argument of type 'string | undefined' is not assignable to parameter of type 'Secret'
Run Code Online (Sandbox Code Playgroud)

我正在尝试学习打字稿,但面临这个问题,.env请指导我。

小智 5

首先,要将环境常量(.env文件)加载到您的程序中,您必须安装dotenvnpm install dotenv --save)并将以下内容添加到.ts文件中:

import * as dotenv from 'dotenv'
dotenv.config()
Run Code Online (Sandbox Code Playgroud)

注意:将其设置在文件的顶部.ts

  • 我还推荐“dotenv-flow”,它基于“dotenv”构建,以添加对“.env.local”中本地覆盖的支持。这在大多数典型的共享存储库中很有帮助,因此您可以在“.env”中签入全局配置,并允许每个开发人员在“.env.local”中添加源代码控制中省略的自定义覆盖。它还为特定于环境的配置添加了对“.env.${NODE_ENV}”的支持,这是多个部署的一个很好的起点。 (3认同)