如何在 TypeScript 中扩充 process.env?

Bor*_*ard 11 node.js typescript typescript-typings

process.envProcessEnv具有以下定义的类型:

export interface ProcessEnv {
    [key: string]: string | undefined;
}
Run Code Online (Sandbox Code Playgroud)

我想扩充这个 TypeScript 接口,使其包含特定于我的应用程序的键,以便结果类似于:

export interface ProcessEnv {
    MY_VARIABLE_1: string;
    MY_OTHER_VARIABLE: string;
    [key: string]: string | undefined;
}
Run Code Online (Sandbox Code Playgroud)

我找不到办法做到这一点,我想它会declare moduledeclare namespace某处但找不到具体的方法来实现这一点。

小智 13

ProcessEnv必须是内部的namespace NodeJS,不需要申报[key: string]: string | undefined;,它从最初的继承ProccessEnv

declare namespace NodeJS {
  export interface ProcessEnv {
    MY_VARIABLE_1: string;
    MY_OTHER_VARIABLE: string;
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法删除`[key: string]: string | 未定义的索引器?这对我来说太宽容了;我仍然可以指手画脚。 (2认同)