2014-11-13 2 views
10

У меня возникла проблема, когда мои веб-страницы AngularJS не загружаются должным образом. Когда это произойдет, код в соответствующем контроллере не запускается. Это происходит редко. Я подозреваю, что это может быть связано с порядком загрузки файлов AngularJS. Возможно, есть и другие возможные причины. Пожалуйста, предупредите меня, если вы можете думать о них. Ниже приведен мой код, показывающий порядок загрузки страницы html;Каков порядок загрузки файлов AngularJS?

<script src="lib/angular/angular.min.js"></script> 
    <script src="lib/angular/angular-route.min.js"></script> 
    <script src="js/app.js"></script> 
    <script src="js/services.js"></script> 
    <script src="js/controllers.js"></script> 
    <script src="js/filters.js"></script> 
    <script src="js/directives.js"></script>   
    <script src="vendor/dialogs.min.js" type="text/javascript"></script>  
    <script src="lib/angular/angular-sanitize.min.js"></script> 
    <script src="vendor/angular-translate.min.js"></script> 
    <link href="vendor/dialogs.css" rel="stylesheet"> 

Есть ли что-то не так?

ответ

15

Первая загрузка угловая библиотека:

<script src="lib/angular/angular.min.js"></script> 
<script src="lib/angular/angular-route.min.js"></script> 
<script src="vendor/dialogs.min.js" type="text/javascript"></script>  
<script src="lib/angular/angular-sanitize.min.js"></script> 
<script src="vendor/angular-translate.min.js"></script> 

После этого груза ваши контроллеры, услуги, фильтры, директивы

<script src="js/services.js"></script> 
<script src="js/controllers.js"></script> 
<script src="js/filters.js"></script> 
<script src="js/directives.js"></script>   

Наконец, теперь вы можете загрузить файл инициализации приложения

<script src="js/app.js"></script> 
+0

Имеет ли значение, в каком порядке я объявляю каждый контроллер? Как вы закажете список отдельных контроллеров и служб? – rcat24

+0

Нет, это не имеет значения. –

+0

Заказ, как вы упомянули 1) услуги, 2) контроллеры, 3) фильтры, 4) требуются директивы? – SaiUnique

7

Хотя заказ правильно указан Nitish, , вы должны рассмотреть u петь инструменты загрузки скриптов, такие как , требуют js, поскольку поддержка взаимозависимости между библиотеками станет беспорядочной, если у вас есть большое количество файлов для включения.

+0

Не могли бы вы рассказать о том, как заказать эти взаимозависимости? – rcat24

+2

@ rcat24 С requireJS вам не нужно беспокоиться о заказе библиотек, которые вы используете, поскольку он предоставляет API, чтобы упоминать каждую зависимость для каждой библиотеки в определенном порядке, и в зависимости от этого потребуется управление зависимостями. Поскольку угловые контроллеры в основном независимы друг от друга, у вас может быть любой заказ на загрузку своих файлов. Но контроллеры в основном зависят от служб, и вы должны загружать их перед вводом в ctrls или директивы. Но если вы используете requireJS, вы можете иметь любой порядок, который требует, сначала создаст дерево зависимостей, а затем загрузит зависимости. –

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