2015-02-15 3 views
0
controller.js 

    define([ 
     'angular', 
     'app', 
     'underscore', 
     'jquery' 
    ], 
    function (angular, app, _, $) { 
     'use strict'; 

    var module = angular.module('kibana.panels.dummy', []); 
    app.useModule(module); 

    module.controller('dummy', function($scope, dashboard, querySrv, filterSrv) { 
    $scope.heading = 'Welcome'; 
    $scope.panelMeta = { 
     status : "Beta", 
     description : "Dummy module for demonstartion" 
    }; 
....... 


controllerSpec.js 

'use strict'; 

define(['./controller'], function(app) 
{ 
    describe("The 'dummy'", function() 
    { 
     var $rootScope; 
     var $controller; 
     var $scope; 

     beforeEach(function() 
     { 

      module('kibana'); 
      module('kibana.panels.dummy'); 


      inject 
      ([ 
       '$injector', 
       '$rootScope', 
       '$controller', 

       function($injector, _$rootScope, _$controller) 
       { 
        $rootScope = _$rootScope; 
        $scope = $rootScope.$new(); 
        console.log(_$controller) 
        $controller = _$controller; 
       } 
      ]); 

      $controller('dummy', {$scope: $scope}); 

     }); 

     it("should set the page heading to 'Welcome'", function() 
     { 
      expect($scope.page).toBe('Welcome'); 
     }); 
    }); 
}); 
........................ 


app.js 
// bootstrap the app 
    angular 
     .element(document) 
     .ready(function() { 
     $('body').attr('ng-controller', 'DashCtrl'); 
     angular.bootstrap(document, apps_deps) 
      .invoke(['$rootScope', function ($rootScope) { 
      _.each(pre_boot_modules, function (module) { 
       console.log("extend ... ", module.name) 
       _.extend(module, register_fns); 
      }); 
      pre_boot_modules = false; 

      $rootScope.requireContext = appLevelRequire; 
      $rootScope.require = function (deps, fn) { 
       var $scope = this; 
       $scope.requireContext(deps, function() { 
       var deps = _.toArray(arguments); 
       $scope.$apply(function() { 
        fn.apply($scope, deps); 
       }); 
       }); 
      }; 
      }]); 
     }); 
................. 


when run karma start 

Ошибка: Неизвестный поставщик: $ controllerProvider от kibana.panels.dummy на ошибки (родной) в /home/badrit004/Projects/solr-4.8.1/SiLK/banana -webapp/webapp/src/vendor/angular/angular.js: 2832: 42 at Object.getService [as get] (/home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src /vendor/angular/angular.js:2960:39) по адресу /home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js:2912:54 на Array.forEach (родной) at forEach (/home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js:130:11) at loadModules (/home/badrit004/Projects/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js:2900:5) в Object.createInjector [в качестве инжектора] (/ home/badrit004/Проекты/solr-4.8.1/SiLK/banana-webapp/webapp/src/vendor/angular/angular.js: 2842: 11) at Object.workFn (/home/badrit004/Projects/solr-4.8 .1/SiLK/banana-webapp/webapp/src/bower_components/angular-mocks/angular-mocks.js: 2339: 52) at window.inject.angular.mock.inject (/ home/badrit004/Projects/solr- 4.8.1/SiLK/banana-webapp/webapp/src/bower_components/angular-mocks/angular-mocks.js: 2322: 37угловые JS динамически загружаются модули + requirejs

ответ

-2

Не изучайте детали своей проблемы, но для ленивых модулей загрузки мы используем ocLazyLoad: https://github.com/ocombe/ocLazyLoad Это отлично работает для нас. Мы используем его вместе с requirejs в качестве загрузчика.

Смежные вопросы