错误'Stripe'未定义no-undef

Has*_*yid 7 stripe-payments reactjs

我正在尝试使用Stripe API来允许通过我的网站付款,但我在将Stripe添加到我的项目时遇到问题.

我使用了create-react-app我的项目的结构,并将Stripe添加到index.html文件中/public/index.html,如下所示:

<body>
    <script src="https://sdk.amazonaws.com/js/aws-sdk-2.39.0.min.js"></script>
    <script type="text/javascript" src="https://js.stripe.com/v2/"></script>

    <script>
        window.AWSCognito = window.AWS
    </script>
    <script src="https://gitcdn.xyz/repo/aws/amazon-cognito-identity-js/master/dist/amazon-cognito-identity.min.js"></script>

    <div id="root"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

但是当我测试时,我收到一个错误:

/src/api/stripe.js
  2:5  error  'Stripe' is not defined  no-undef
Run Code Online (Sandbox Code Playgroud)

我的stripe.js文件:

export const getStripeToken = (card) => new Promise((resolve, reject) => {
    Stripe.card.createToken(card, (status, {error, id}) => {
        if (error) {
            reject(error.message);
        } else {
            resolve(id);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Has*_*yid 21

我想到了!我有点像个傻瓜.

我改为Stripe使用window.Stripe我的代码,它现在正常工作!

感谢大家.

  • 谢谢。太烦人了,这不再是可搜索的了! (4认同)

Faw*_*waz 11

这只是编译的问题。修复它的正确方法是要求编译器不要查找,Stripe它将在全球范围内可用。/* global Stripe */在初始化之前添加此注释Stripe

/* global Stripe */
const stripe = Stripe('STRIPE_KEY');
Run Code Online (Sandbox Code Playgroud)