2016-09-30 2 views
0

Когда я пытаюсь использовать атрибут async на мои теги сценария, я получаю эту ошибку:угловой не определен при использовании атрибута асинхронной

Uncaught ReferenceError: angular is not defined

Module 'app.main' 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.

При взгляде на docs, я увидел рекомендацию загрузился его вручную, так что я сделал это:

<script async type="text/javascript" src="dist/js/angular.min.js"></script> 
    <script async type="text/javascript" src="dist/js/app.min.js"></script> 

    <script async> 
     angular.element(document).ready(function() { 
      angular.bootstrap(document, ['app.main']); 
     }); 
    </script> 
</body> 

I know async should be used when the script is at the beggining of the page, but in both situations I had the same error.

Как вы можете видеть, я попытался вручную самонастройки моего приложения в конце. Я также попытался использовать тот же код внутри моего файла app.min.js, в конце файла, но оба сценария дали мне те же результаты.

Если я удалю асинхронный attr, все вернется в нормальное состояние и снова работает, но как я должен решить эту проблему?

+0

почему вы хотите, чтобы загрузить асинхра? Если вы не используете диспетчер нагрузки, вы не контролируете порядок выполнения этих трех сценариев. Очевидно, что последнее не требует времени для загрузки и, скорее всего, будет выполнено первым ... до определения angulr – charlietfl

ответ

1

Только так вы знаете

Note: The async attribute is only for external scripts (and should only be used if the src attribute is present). 

Спасибо :)

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