角度 - 模块不可用

时间:2017-06-26 11:32:31

标签: angularjs mean-stack meanjs

我正在使用mean.js样板文件。我想在我的客户端包含angular-stripe。为此,我安装了angular-stripe,它在node_modules下可用。

现在我想在我的代码中添加它,如下所示

(function () {
'use strict';

angular
  .module('myApp', [
    'angular-stripe'
  ])
  .config(function (stripeProvider) {
    stripeProvider.setPublishableKey('my_key')
  })

      PaymentController.$inject = ['$scope', '$state', 'Authentication', 'Socket', 'stripe'];

      function PaymentController($scope, $state, Authentication, Socket, stripe) {
        var vm = this; 
    }
());

它抛出了以下错误

Module 'angular-stripe' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

2 个答案:

答案 0 :(得分:1)

问题是声明角度模块时不包含 angular-stripe 插件。

使用node_modules中的js模块时,请在模块声明中使用全局require()方法

angular.module('myApp', [
  require('angular-stripe')
]);

另一种解决方案是将文件包含在“标准”方式<script src="...

关于require方法here

的好文章

答案 1 :(得分:1)

如果您使用的是MeanJs样板文件,则必须在npm run devconfig/assets/default.js client - lib添加依赖项,如果依赖项具有client-css文件的话。

.css

MeanJs强烈建议您使用module.exports = { client: { lib: { css: [ // bower:css 'public/lib/bootstrap/dist/css/bootstrap.css', 'public/lib/bootstrap/dist/css/bootstrap-theme.css', 'public/lib/angular-ui-notification/dist/angular-ui-notification.css' // endbower ], js: [ // bower:js 'node_modules/angular-stripe/src/index.js', 'public/lib/angular/angular.js', 'public/lib/angular-animate/angular-animate.js', 'public/lib/angular-bootstrap/ui-bootstrap-tpls.js', 'public/lib/ng-file-upload/ng-file-upload.js', 'public/lib/angular-messages/angular-messages.js', 'public/lib/angular-mocks/angular-mocks.js', 'public/lib/angular-resource/angular-resource.js', 'public/lib/angular-ui-notification/dist/angular-ui-notification.js', 'public/lib/angular-ui-router/release/angular-ui-router.js', 'public/lib/owasp-password-strength-test/owasp-password-strength-test.js', // endbower ], // rest of the code.. 作为前端依赖项。 有关详细信息:MeanJS docs