Angular 7 & Stripe error TS2304: Не удается найти имя 'Stripe' - PullRequest
0 голосов
/ 18 февраля 2019

Я установил @types/stripe-v3 и включил файл JavaScript Stripe в тег сценария в index.html.Предположительно, Angular-компилятор должен автоматически включать все файлы из узловых модулей @types.Читая в Интернете и просматривая @types/stripe-v3/index.d.ts, должна быть объявлена ​​глобально переменная 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'.

1 Ответ

0 голосов
/ 18 февраля 2019

Проблема решена путем включения ссылки на пакет @types/stripe-v3 в массиве compilerOptions.types вашего tsconfig.app.json файла в каталоге src вашего проекта Angular.

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": [
      "stripe-v3"
    ]
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

Thisрешение опубликовано bjornharvold в этой теме .

...