Stripe - глобальный не определен - PullRequest
0 голосов
/ 16 марта 2020

У меня проблема при использовании API полосы.

Среда:

  "devDependencies": {
    "@angular-devkit/build-angular": "~0.803.20",
    "@angular/cli": "~8.3.23",
    "@angular/compiler": "~8.2.14",
    "@angular/compiler-cli": "~8.2.14",
    "@angular/language-service": "~8.2.14",
    "@ionic/angular-toolkit": "^2.1.1",
    "@types/node": "^8.9.5",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.4.3"
  },

  "dependencies": {
    "@angular/common": "~8.2.14",
    "@angular/core": "~8.2.14",
    "@angular/forms": "~8.2.14",
    "@angular/platform-browser": "~8.2.14",
    "@angular/platform-browser-dynamic": "~8.2.14",
    "@angular/router": "~8.2.14",
    "@ionic-native/core": "^5.0.0",
    "@ionic/angular": "^5.0.0",
    "core-js": "^2.5.4",
    "rxjs": "~6.5.1",
    "stripe": "^8.32.0",
  },

Версия узла: 13.7.0

Моя проблема

возможность. js: 1 Uncaught ReferenceError: global не определена

С момента использования:

import Stripe from 'stripe';
const stripe = new Stripe('sk_test_...', {
  apiVersion: '2020-03-02',
});

Я пытался (в моем индексе . html или Polyfills):

(window as any).global = window;
global.Buffer = global.Buffer || require('buffer').Buffer;
(window as any).process = {
  version: ''
};

Много таких вещей, но всегда ошибки.

Я также положил Stripe. js в мои index. html но все равно ничего.

Вы можете мне помочь?

1 Ответ

0 голосов
/ 16 марта 2020

Я помню, как некоторое время занимался этим go, я создал файл подкладки и импортировал его в полифиллы. Я не могу вспомнить почему, но я помню, что вы не могли просто сделать это непосредственно в файле polyfills.ts.

Файл Shim

(window as any).global = window;

Polyfills.ts

import './global-shim';
...