📜  dotenv typescript (1)

📅  最后修改于: 2023-12-03 15:00:31.829000             🧑  作者: Mango

dotenv typescript

简介

dotenv-typescript 是一个 TypeScript 类型化的 dotenv 库,可以方便地读取和使用环境变量。dotenv-typescript 提供了完整的类型检查,并在编译时而非运行时进行验证,以最大限度地避免出现环境变量错误。

特点
  • 与 TypeScript 的无缝集成:dotenv-typescript 提供了完整的类型检查功能,可以简单地声明环境变量类型,以确保代码中使用环境变量的正确性。
  • 明了的环境变量管理:dotenv-typescript 支持将所有环境变量集中在一个 .env 文件中,便于管理和修改。
  • 编译时验证:dotenv-typescript 在编译时而非运行时进行验证,以防止在运行时出现环境变量错误。
用法
安装
npm install dotenv @types/dotenv dotenv-typescript -D
示例
  1. 首先,在项目根目录下创建一个名为.env的文件,用于存储环境变量。例如:

    // .env
    APP_URL="https://example.com"
    API_KEY="my-secret-api-key"
    
  2. 在 TypeScript 文件中引入 dotenv-typescriptdotenv@types/dotenv

    // src/index.ts
    import { config } from "dotenv-typescript";
    import * as dotenv from "dotenv";
    import type {} from "dotenv/types";
    
    // 加载 dotenv 配置
    dotenv.config();
    
    // 将环境变量声明为 Config 类型
    type Config = {
      APP_URL: string;
      API_KEY: string;
    };
    
    // 读取环境变量
    const env = config<Config>();
    
    console.log(env.APP_URL); // 输出 "https://example.com"
    console.log(env.API_KEY); // 输出 "my-secret-api-key"
    
  3. 如果环境变量不存在,则使用默认值:

    // 将环境变量声明为 Config 类型
    type Config = {
      APP_URL: string;
      API_KEY: string;
      PORT: number;
      DB_URL?: string; // 可选的环境变量
    };
    
    // 设置默认值
    const env = config<Config>({
      PORT: 3000,
      DB_URL: "mongodb://localhost/mydb",
    });
    
    console.log(env.APP_URL); // 输出 "https://example.com"
    console.log(env.API_KEY); // 输出 "my-secret-api-key"
    console.log(env.PORT); // 输出 3000
    console.log(env.DB_URL); // 输出 "mongodb://localhost/mydb"
    

更多功能请查看官方文档:dotenv-typescript

优势

dotenv-typescript 提供了与 TypeScript 无缝集成,可以方便地管理和使用环境变量,并在编译时而非运行时进行验证。dotenv-typescript 的使用可以提高项目的可靠性和稳定性,减少环境变量错误的潜在风险。