如何在 TypeScript 中增加 process.env?
How to augment process.env in TypeScript?
process.env
属于 ProcessEnv
类型,定义如下:
export interface ProcessEnv {
[key: string]: string | undefined;
}
我想扩充此 TypeScript 接口,以便它包含特定于我的应用程序的键,因此结果类似于:
export interface ProcessEnv {
MY_VARIABLE_1: string;
MY_OTHER_VARIABLE: string;
[key: string]: string | undefined;
}
我找不到实现它的方法,我猜它会是 declare module
或 declare namespace
某个地方,但找不到实现它的具体方法。
ProcessEnv
必须在namespace NodeJS
里面,不需要声明[key: string]: string | undefined;
,它继承了最初的ProccessEnv
。
declare namespace NodeJS {
export interface ProcessEnv {
MY_VARIABLE_1: string;
MY_OTHER_VARIABLE: string;
}
}
如果要从 process.env
声明中删除 [key: string]: string | undefined
索引器,从而将 env
的使用限制为显式声明的名称,您可以将进程声明为变量:
declare var process : {
env: {
NODE_ENV: string
}
}
process.env
属于 ProcessEnv
类型,定义如下:
export interface ProcessEnv {
[key: string]: string | undefined;
}
我想扩充此 TypeScript 接口,以便它包含特定于我的应用程序的键,因此结果类似于:
export interface ProcessEnv {
MY_VARIABLE_1: string;
MY_OTHER_VARIABLE: string;
[key: string]: string | undefined;
}
我找不到实现它的方法,我猜它会是 declare module
或 declare namespace
某个地方,但找不到实现它的具体方法。
ProcessEnv
必须在namespace NodeJS
里面,不需要声明[key: string]: string | undefined;
,它继承了最初的ProccessEnv
。
declare namespace NodeJS {
export interface ProcessEnv {
MY_VARIABLE_1: string;
MY_OTHER_VARIABLE: string;
}
}
如果要从 process.env
声明中删除 [key: string]: string | undefined
索引器,从而将 env
的使用限制为显式声明的名称,您可以将进程声明为变量:
declare var process : {
env: {
NODE_ENV: string
}
}