Минимизация проблем с приложениями AngularJS

У меня есть приложение, написанное на AngularJS и Bootstrap, которое отлично работает, но когда я попытался минимизировать его, у меня возникли проблемы.

Index.html моего приложения:

<!DOCTYPE html>
<html lang="es-ES"  >
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Vebor Editor</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">


    <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css">
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<link rel="stylesheet" href="css/style.min.css">

</head>
    <body ng-app="editor"  ng-strict-di>
        <header ng-include="'views/header.html'"></header>
        <div class="container">
            <div ui-view></div>
        </div>
        <footer class="footer" ng-include="'views/footer.html'"></footer>
<script src="/lib/angular/angular.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-route.min.js"></script>
        <script src="https://cdn.rawgit.com/angular-ui/ui-router/0.2.18/release/angular-ui-router.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-resource.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-animate.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-aria.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-messages.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular-sanitize.min.js"></script>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.min.js"></script>
        <script src="/js/scripts.min.js"></script>
    </body>
</html>

У меня есть 14 различных файлов js, поэтому я не буду копировать их здесь, если есть что-то, что вам нужно, дайте мне знать. Основной файл js выглядит примерно так:

(function(){

    'use strict';
    angular.module('editor', [
        'ngMaterial', 'ngRoute',  'ngSanitize', 'ui.bootstrap', 'ui.router',
        'editor.mainControllers', 'editor.searchControllers', 'editor.classControllers', 'editor.contactController', 'editor.viewerController', 'editor.listingControllers',
        'editor.services', 'editor.serverCallsServices', 'editor.translationService'
    ]);
function config (...){...}
function run(...){...}
})();

Во-первых, я использовал функцию uglify в gulp для генерации проекта дистрибутива с помощью style.min.css и script.min.js.

Во-вторых, я вручную копирую все содержимое моих js-файлов в один уникальный script.js, а затем минимизировал его с помощью внешних инструментов. (Проблемы, с которыми я столкнулся, возникали даже с унифицированным файлом без минимизации).

проблема

Проблема проста для объяснения. Страница не загружена, это похоже на бесконечный цикл, потому что консоль ничего не показывает и DOM отсутствует. Если я перезагружаю страницу, она все еще не работает, я должен закрыть вкладку и открыть ее снова.

Из-за того, что нет информации от браузера, я очень растерялся. Вы знаете, почему это может произойти? Или, может быть, есть что-то, что я мог бы использовать, чтобы попытаться обнаружить проблему?

Я уже знал о проблеме с инжекцией в Angular, и у меня есть все мои контроллеры с правильным $inject.

1 ответ

Решение

На вашем месте я бы попытался загрузить файлы в другом порядке.

Этот ответ может помочь вам.

Другие вопросы по тегам