2017-05-12 64 views
1

我在我的應用程序中使用requireJS。AngularJS undefined控制器使用require

每當我嘗試在我的模塊上註冊控制器時,它表示控制器未定義。這裏是我的控制器,它駐留在login.controller.js

function LoginController() { 

} 

,這裏是我的模塊代碼:

require('angular') 
require('@uirouter/angularjs'); 
require('./service/storage') 
require('./controller/login.controller') 

angular.module('SecurityModule', ['ui.router']) 
    .controller('LoginController', LoginController); 

// Routing 
    angular.module('SecurityModule') 
     .config(function ($stateProvider, $urlRouterProvider, $locationProvider) { 
      $locationProvider.hashPrefix(''); 

      $stateProvider.state('login', { 
       url: '/login', 
       templateUrl: '/app/resources/view/security/login.html', 
       controller: 'LoginController', 
      }); 
     }) 
    ; 

當我檢查了我的LoginController bundled.js的聲明首先出現。那爲什麼它還沒有定義?

謝謝。

請注意,即時通訊使用browserify(然後使用commonJS)綁定我的文件。

+0

顯然,我所做的是把它分配給變量,像這樣:VAR的LoginController =需要(....); – user7966651

回答

-1

作爲documentation狀態:

模塊是配置的集合和運行的得到在引導過程中施加到應用 塊。在其最簡單的形式中,模塊由兩種塊的集合組成:

配置塊 - 在供應商註冊 和配置階段執行。 只有提供者和常量可以注入 到配置塊中。這是爲了防止服務在完全配置之前發生意外實例化 。

angular.module('myModule', []). 
config(function(injectables) { // provider-injector 
    // This is an example of config block. 
    // You can have as many of these as you want. 
    // You can only inject Providers (not instances) 
    // into config blocks. 
}). 
run(function(injectables) { // instance-injector 
    // This is an example of a run block. 
    // You can have as many of these as you want. 
    // You can only inject instances (not Providers) 
    // into run blocks 
}); 
+0

似乎不是問題;他們並不試圖在這裏將控制器注入配置塊。 – Claies