2013-10-04 2 views
0

Я пытаюсь загрузить файл в app.js main.js, но я получаю:RequireJS, как загрузить файл JS

TypeError: App is undefined

index.html

<script data-main='js/main' src="require.min.js"></script> 

/js/main.js

require([ 
    'app' 
],function(App){ 
    console.log(App); // App is undefined 
    App.initialize(); 
}); 

/js/app.j с

define([ 
    'router' 
], function(Router) { 
    var initialize = function() { 
     Router.initialize(); 

     return { 
      initialize : initialize 
     } 
    } 
}); 

Что я делаю неправильно?

ответ

2

Если вам требуется модуль «приложение», переменная App будет ссылаться на то, что возвращает модуль «приложение». Тем не менее, в вашем случае это ничего не вернуть:

function(Router) { 
    var initialize = function() { 
     Router.initialize(); 

     return { 
      initialize : initialize 
     } 
    } 

    // returns nothing, i.e. undefined 
} 

Похоже, вы должны переместить return блок вне функции initialize, по существу, это может быть переписано в виде:

function (Router) { 
    return { 
     initialize: function() { 
      Router.initialize(); 
     } 
    } 
} 
+0

Да! он работает сейчас. Большое спасибо! –

+0

Я счастлив, что смогу помочь. – kryger

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