typescript - Angular 7 & Stripe 错误 TS2304 : Cannot find name 'Stripe'

标签 typescript angular-cli stripe-payments definitelytyped angular-cli-v7

我已经安装了 @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 的 compilerOptions.types 数组中包含对 @types/stripe-v3 包的引用来解决此问题 文件在 Angular 项目的 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/

相关文章:

javascript - 如何仅在 Promise 完成后才执行函数?

Swift – "No such module ' Stripe3DS 2'"更新 Stripe 到 21.0.1 后

node.js - Stripe API Trial_end 从现在起 10 秒后,与环境无关

javascript - 带有 webpack 的 Mocha 无法解析模块

javascript - Angular 封装参数

angular - PowerShell 脚本添加 '--prod' 参数以构建 Angular CLI 项目

angular - Angular 单文件组件支持 sass/scss 吗?

html - 我需要对 Angular 表单进行验证

javascript - 如何补偿圆形 slider 组件中的旋转容器 View ?

typescript - 获取 TypeScript 中双嵌套对象的所有值类型