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
某处找不到,但找不到具体的方法来实现这一点。
答案 0 :(得分:4)
ProcessEnv
必须在namespace NodeJS
内部,并且不需要声明[key: string]: string | undefined;
,它是从初始ProccessEnv
继承的。
declare namespace NodeJS {
export interface ProcessEnv {
MY_VARIABLE_1: string;
MY_OTHER_VARIABLE: string;
}
}
答案 1 :(得分:0)
如果您要从[key: string]: string | undefined
声明中删除process.env
索引器,从而限制将env
的使用限制为显式声明的名称,则可以将process声明为变量:
declare var process : {
env: {
NODE_ENV: string
}
}