Uglify意外地更改了Angularjs代码加载顺序

时间:2016-06-29 06:52:57

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

我的Angular 1代码在开发中运行良好。但是当我使用Grunt将我的Angular项目压缩为 dist 时,我的指令在我的服务和app.run()之前运行,这导致页面中断。

我将问题追溯到 uglify ,这会更改代码执行顺序。我不知道如何防止我的uglify改变执行顺序。

1 个答案:

答案 0 :(得分:1)

以下解决方案适合我。也许这对你也有帮助。我是从here提到的。

三种解决方案:

  • 使grunt任务不包含不需要的文件,并包含已在您的应用中缩小的文件。

  • 如果在第一次解决之后问题仍然存在,那么您的角度模块不会是友好的" uglify friendly"。这是一种特殊的方式来声明您的依赖关系,以便缩小变得平滑,如本页所述("关于缩小的注释"段落)。请注意,您可以使用" ng-min"而不是执行此声明"手动"自动化流程并保持代码清洁的任务。

  • 嗯,在我的情况下,我仍然有问题,所以我结束了" mangle" uglify中的选项(将长字符串缩小为压缩响应大小的选项)。你可以关闭这样的选项:

    uglify: {
        options: {
           mangle: false
        },
    }