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