条带未定义(ember-cli)



我看到两个独立的用户,Windows 7 和 Firefox 34,我的 Stripe 初始值设定项有一个Stripe is not defined错误。

我用.setPublishableKey()从我的ENV中取出钥匙,就像这样:

initializer =
  name: 'stripe'
  initialize: ->
    Stripe.setPublishableKey(ENV.STRIPE_PUBLISHABLE_KEY)
`export default initializer`

我像这样包含条纹 JS:

<html>
  <head>
    {{content-for 'head'}}
    <script type="text/javascript" src="https://js.stripe.com/v2/"></script>

可能是什么原因造成的?我该如何解决它?

我知道我可以在设置可发布密钥之前简单地检查是否定义了 Stripe,但这可能不足以让用户使用与 Stripe 相关的功能。

Josh,这似乎是ember-stripe-service包的初始化方式。

违规行:https://github.com/ride/ember-stripe-service/blob/master/app/initializers/stripe-service.js#L15

此评论中提到了一种解决方法:https://github.com/ride/ember-stripe-service/issues/12#issuecomment-94524196

我遇到了您的问题,上面评论中的修复效果很好。这是我在Coffeescript中的版本

app/initializers/fake-stripe.coffee

`import config from '../config/environment'`
initialize = (container, application) ->
  if (config.environment != 'test')
    return
  if (typeof Stripe != 'undefined')
    return
  window.Stripe =
    setPublishableKey: ->
    card: createToken: ->
StripeInitializer =
  name: 'fake-stripe'
  before: 'stripe'
  initialize: initialize
`export {initialize}`
`export default StripeInitializer`

最新更新