我已经安装了 @types/stripe-v3
并将 Stripe 的 javascript 文件包含在 index.html
的脚本标签中。据说 Angular 编译器应该自动包含来自 @types 节点模块的所有文件。在互联网上阅读并查看 @types/stripe-v3/index.d.ts
如果编译器包含该文件,则应该全局声明一个 var Stripe。来自 index.d.ts
declare var Stripe: stripe.StripeStatic;
在我的服务文件中有以下代码:
import { Injectable } from '@angular/core';
import { environment } from '../environments/environment';
@Injectable({
providedIn: 'root'
})
export class BetalingService {
stripe = Stripe(environment.stripeKey);
constructor() { }
}
导致以下错误:
error TS2304: Cannot find name 'Stripe'.
最佳答案
通过在 tsconfig.app.json 的
文件在 Angular 项目的 compilerOptions.types
数组中包含对 @types/stripe-v3
包的引用来解决此问题src
目录中。
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"types": [
"stripe-v3"
]
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
此解决方案由 bjornharvold 发布在 this thread .
关于typescript - Angular 7 & Stripe 错误 TS2304 : Cannot find name 'Stripe' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54753390/