我正在尝试将stripe-angular模块整合到我的Ionic / AngularJS应用中。

https://github.com/gtramontina/stripe-angular

我使用npm install stripe-angular安装了该应用程序。

这是我将依赖项注入我的应用程序的位置:

var myApp = angular.module('myApp',
    ['ionic','ionic.utils','stripe','google.maps','myApp.controllers','myApp.services'])
.config(function($stateProvider, $urlRouterProvider, stripeProvider) {
    stripeProvider.setPublishableKey('pk_test_APIKEY');
});


在没有将依赖项注入到我的任何控制器或服务中的情况下,我遇到了以下控制台错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to:
Error: [$injector:unpr] Unknown provider: stripeProvider
http://errors.angularjs.org/1.2.25/$injector/unpr?p0=stripeProvider
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:7703:12
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:11427:19
    at getService (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11555:39)
    at Object.invoke (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11582:13)
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:11510:37
    at forEach (http://localhost:8100/lib/ionic/js/ionic.bundle.js:7950:18)
    at loadModules (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11497:5)
    at createInjector (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11437:11)
    at doBootstrap (http://localhost:8100/lib/ionic/js/ionic.bundle.js:9069:20)
    at bootstrap (http://localhost:8100/lib/ionic/js/ionic.bundle.js:9084:12)
http://errors.angularjs.org/1.2.25/$injector/modulerr?p0=myApp&p1=Error%…%3A%2F%2Flocalhost%3A8100%2Flib%2Fionic%2Fjs%2Fionic.bundle.js%3A9084%3A12)


这是我的index.html文件的相关部分:

<!-- your app's js -->
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
<script src="js/services.js"></script>


我在依赖注入中是否做错了什么,或者我忽略了某些事情?如果可以,请在您的答案中详细说明!谢谢。

最佳答案

看来stripe-angular readme的方向缺少一步。该脚本包括他们的步骤2:

<script type="text/javascript" src="https://js.stripe.com/v2/"></script>


引用Stripe的主脚本,而不是stripe-angular指令。您收到错误消息是因为此脚本中不包含带区角模块(“条带”)。

要解决此问题,您需要首先从自述文件中执行步骤1,使用Bower下载stripe-angular,然后还包括对stripe-angular.js的第二个脚本引用:

<script src="your-bower-folder/stripe-angular.js"></script>

09-20 23:32