如何在TypeScript中读取节点环境变量?
如果我使用process.env。NODE_ENV我有这个错误:
Property 'NODE_ENV' does not exist on type 'ProcessEnv'
我已经安装了@types/node,但它没有帮助。
如何在TypeScript中读取节点环境变量?
如果我使用process.env。NODE_ENV我有这个错误:
Property 'NODE_ENV' does not exist on type 'ProcessEnv'
我已经安装了@types/node,但它没有帮助。
当前回答
在使用process.env之前添加即可。NODE_ENV跟随行:
declare var process : {
env: {
NODE_ENV: string
}
}
其他回答
我知道这将帮助一些人搜索这个,不能找到简单的答案,为什么你的过程。Env变量让你的编译器抱怨:
安装@types /节点:
npm i @types/node
然后当你将env作为字符串包含时,这样做:
process.env.YOUR_ENV ?? ''
双问号允许您检查null/undefined。
重要提示:如果你有一个web应用程序,你正在使用webpack。定义流程。Env在你的窗户上,那么这些就是你要找的类型:
declare namespace process {
let env: {
// this is optional, if you want to allow also
// other values than the ones listed below, they will have type
// string | undefined, which is the default
[key: string]: string
commit_hash: string
build_time: string
stage: string
version: string
// ... etc.
}
}
在使用process.env之前添加即可。NODE_ENV跟随行:
declare var process : {
env: {
NODE_ENV: string
}
}
创建一个类似global.d.ts的文件
declare global {
namespace NodeJS {
interface ProcessEnv {
SECRET: string;
}
}
}
export {};
教程由克里斯蒂安Höller
执行typescript最新版本后:
NPM install——save @types/node
你可以使用过程。env直接。
console.log(process.env[“NODE_ENV”])
如果您设置了NODE_ENV,您将看到预期的结果。