javascript - 缩小 AngularJS 应用程序问题

标签 javascript angularjs minify gulp-uglify gulp-minify

我有一个用 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(...){...}
})();

首先,我使用 gulp 中的函数 uglify 来生成包含 style.min.css 和 script.min.js 的分发项目。

其次,我手动将 js 文件的全部内容复制到一个唯一的 script.js 中,然后使用外部工具对其进行缩小。 (即使使用未缩小的统一文件也会发生问题)。

问题

这个问题很容易解释。页面没有加载,看起来像一个无限循环,因为控制台什么也没有显示,也没有 DOM。如果我重新加载页面,它仍然无法工作,我必须关闭选项卡并再次打开它。

由于浏览器没有任何信息,我很迷失。你知道为什么会发生这种情况吗?或者也许我可以用一些东西来尝试发现问题?

我已经了解 Angular 中的注入(inject)问题,并且我的所有 Controller 都具有正确的 $inject。

最佳答案

如果我是你,我会尝试以不同的顺序加载文件。

This answer could helps you.

关于javascript - 缩小 AngularJS 应用程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44524897/

相关文章:

javascript - Angularjs Linechart 指令不会加载 $resource

css - 如果可用数量列等于 10,如何更改表格行中的样式

javascript - AngularJS 表单验证 : $valid Always True

javascript - 缩小 HTML、CSS 和 Javascript 是个坏主意吗?

javascript - 在 Javascript 中使用微小的变量名有多重要?

javascript - React Router v4 将通过状态从搜索重定向到结果

Javascript for-in 和内置属性

javascript - webpack 缩小 HtmlWebpackPlugin

javascript - 如何使用 javaScript 或 Css 隐藏 li 标签的值

javascript - 使用 PhantomJS 在 Angular.js 应用程序中填写表单