【发布时间】:2017-10-07 14:07:57
【问题描述】:
if (process.env.NODE_ENV === 'production') {
if (!_.isUndefined(process.env.PAYPAL_CLIENT_ID) && !_.isUndefined(process.env.PAYPAL_CLIENT_SECRET)) {
paypal.configure({
mode: 'live',
client_id: process.env.PAYPAL_CLIENT_ID,
client_secret: process.env.PAYPAL_CLIENT_SECRET,
});
}
} else {
paypal.configure({
mode: 'sandbox',
client_id: process.env.PAYPAL_CLIENT_ID,
client_secret: process.env.PAYPAL_CLIENT_SECRET,
});
}
这是我正在使用的代码。我正在明确检查undefined,然后尝试配置 PayPal Rest SDK。
但是,我在 TypeScript 中遇到了这个错误:
类型参数 '{ mode: string;客户 ID:字符串 |不明确的; client_secret: 字符串 |不明确的; }' 不可分配给参数 'ConfigureOptions' 类型。属性“client_id”的类型是 不相容。 键入'字符串 | undefined' 不能分配给类型 'string'。 类型“未定义”不可分配给类型“字符串”。
为什么 TypeScript 仍然认为变量可能是 undefined..?这是特定于环境变量的吗?
【问题讨论】:
标签: typescript