TypeScript definitions for process.env.NODE_ENV?
是否有一个带有用于" process"变量的TypeScript定义的项目,以使用process.env.NODE_ENV?在任何地方都找不到。
节点8的更新:
现在
1 2 3 4 5 | env: ProcessEnv; export interface ProcessEnv { [key: string]: string | undefined; } |
TypeScript 2支持节点的npm包类型定义。当前它使用DefinitivelyTyped node.d.ts.
1 | npm install --save-dev @types/node |
节点8之前的版本:
进程
中声明为
1 | env: any; |
\\'process \\'变量的定义可以在默认的node.js d.ts中找到,方法是从绝对类型中键入并添加到您的types.json中,如下所示:
1 | "node":"github:DefinitelyTyped/DefinitelyTyped/node/node.d.ts" |
我不认为特定的NODE_ENV变量有任何定义。因为这只是一个约定(Express链接广泛使用),所以node.js本身并不关心该特定环境变量。
仅在使用前添加process.env.NODE_ENV
1 2 3 4 5 | declare var process : { env: { NODE_ENV: string } } |
在TypeScript 3中添加节点定义
使用通过npm / yarn的"绝对类型"中的类型:
1 2 3 4 5 6 7 8 | # Install the latest npm install --save-dev @types/node # or yarn add @types/node --dev # To install the right types for your version of node (e.g. 12 here) npm install --save-dev @types/node@^12 yarn add @types/node@^12 --dev |
在可用类型的情况下,对象
扩展
您可以使用声明合并将新值添加到
1 2 3 4 5 6 7 | declare global { namespace NodeJS { interface ProcessEnv { NODE_ENV?: string } } } |
这将使您编写
1 2 3 4 5 6 | declare namespace NodeJS { interface ProcessEnv { [key: string]: string | undefined NODE_ENV?: 'development' | 'production' | 'test' } } |
将上面的代码放入文件
如果您在VSCode中遇到此错误,也许您只需要重新启动它即可。