i首先通过 grunt-contrib-concat
grunt任务加盟所有JS文件。有了这一点,一切都很好(无需缩小(。
我正在尝试切换到Google的关闭编译器,以便我可以将其删除并添加源地图,开始使用此选项:--compilation_level WHITESPACE_ONLY
和--formatting=pretty_print
,并且我以与以前相同的顺序传递文件艰巨的任务,所以我应该拥有与以前的第一个输出相似的输出。
注意:多亏了一些崇高的文本魔术和差异检查器,我已经能够检查我的两个最终生成的文件是否以完全相同的顺序获得了所有相同的控制器/服务。
我所有的控制器都没有使用注释语法(依赖项在控制器之前称为字符串(,因此我使用ng-antotate和此脚本来解决此问题。
现在,我所有的文件都准备好进行缩小。可以肯定的是,我什至在应用程序上声明了ng-strict-di
,然后临时切换回上一个串联系统。它可以完美地工作,如果我故意在控制器名称中输入错字,则会失败。
因此,我认为闭合编译器应该像魅力一样工作……但是,当Angular尝试将我的第一个服务注入app.run()
功能时,我会面临Unknown Provider
错误。(.config()
的执行良好,因为我在这里没有自定义依赖关系以及.run()
的三个第一个依赖项。实际上,我实现的依赖性是失败的。(
有人已经面临类似的问题吗?知道什么会导致这?
好吧...我发现封闭式编译器不会像我过去使用的grunt任务一样导入文件。
使用符号src/js/controllers/**/*.js
时,我将其挖掘为直接在控制器文件夹中导入文件,但没有导入文件。
我肯定已经检查了一下,但是我肯定犯了一个错误,并将旧文件与旧文件进行比较,而不是新文件。这就是为什么我以为我在检查时都以相同的顺序获得了所有依赖关系...