【问题标题】:angular-js uglify downloaded modulesangular-js uglify 下载的模块
【发布时间】:2016-01-25 16:19:34
【问题描述】:

所以我有一个angular 应用程序。有了这个应用程序,我有很多在我的应用程序中使用的插件(模块)。

我正在尝试缩小它们,这确实有效。然而,在它们被缩小(丑化)后,我得到了以下错误:

failed to instantiate module app due to:

由于:然后是所有模块。 (从第一个加载开始,然后继续)。

这是否意味着我无法缩小角度模块。 (这基本上意味着我坚持使用 1000 行长的 HTML 文件)。

【问题讨论】:

  • 错误来自哪里,错误是什么?不要遗漏重要部分

标签: javascript angularjs gruntjs grunt-usemin grunt-contrib-uglify


【解决方案1】:
  1. 显式依赖注入

    app.controller('myController',function(module1,module2){
      //...
    });
    myController.$inject=['module1','module2'];
    
  2. 内联注释

    app.controller('myController',['module1','module2',function(module1,module2){
      //...
    });
    

【讨论】:

    【解决方案2】:

    你可能做错了。正如 AngularJs 文档所指定的,当您要缩小文件时,您必须像这样指定依赖项:

    app.controller('$ctrl', ['dep1', 'dep2', function(dep1, dep2) {
    // your code here
    }]);
    

    这样,当文件被缩小时,依赖关系不会被修改。见 angularJs 教程:https://docs.angularjs.org/tutorial/step_05#a-note-on-minification

    【讨论】:

      【解决方案3】:

      不,这并不意味着您不能缩小模块文件。你可以做到这一点。

      检查以确保它们连接/缩小的顺序是正确的,例如,如果模块 x 使用模块 y 中的某些内容并且 x 在 y 之后加载,这将显示错误。

      如果问题是由于模块的声明方式引起的,您可以安装 grunt-ng-annotate 它将在运行时将所有模块声明更改为所需的格式,这样您就不会收到提到的错误。

      npm install grunt-ng-annotate --save-dev
      

      【讨论】:

        猜你喜欢
        • 2015-05-31
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 2018-07-15
        • 2019-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多