错误' Stripe'没有定义no-undef

时间:2017-04-17 18:34:57

标签: reactjs stripe-payments

我正在尝试使用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>

然而,当我测试时,我收到一个错误:

/src/api/stripe.js
  2:5  error  'Stripe' is not defined  no-undef

我的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);
        }
    });
});

提前致谢!

2 个答案:

答案 0 :(得分:12)

我明白了!我有点像个笨蛋。

我在代码中将Stripe更改为window.Stripe,现在可以正常使用了!

谢谢大家。

答案 1 :(得分:0)

这只是编译它的问题。解决该问题的正确方法是要求编译器不要寻找Stripe,它将在全球范围内可用。在初始化/* global Stripe */之前,先添加以下评论Stripe

/* global Stripe */
const stripe = Stripe('STRIPE_KEY');