0

我首先通过grunt-contrib-concatgrunt 任务连接我所有的 js 文件。有了这个,一切都很好(没有缩小)。

我正在尝试切换到 Google 的 Closure Compiler,以便我可以缩小它并添加源映射,首先我正在使用这个选项:--compilation_level WHITESPACE_ONLY并且--formatting=pretty_print我正在以与之前的 grunt 任务相同的顺序传递文件,所以我应该有一个类似于我以前得到的第一个输出。

注意:感谢一些崇高的文本魔术和差异检查器,我已经能够检查我最终生成的两个文件是否以完全相同的顺序获得了所有相同的控制器/服务。

我所有的控制器都没有使用注释语法(依赖项在控制器之前被声明为字符串)所以我使用 ng-annotate 和这个脚本来解决这个问题。

现在我所有的文件都可以缩小了。为了确定这一点,我什ng-strict-di至在我的应用程序上声明并暂时切换回以前的串联系统。如果我故意在控制器名称中输入错字,它会完美运行并且会失败。

所以从这里我认为闭包编译器应该像一个魅力一样工作......但是不,Unknown Provider当角度尝试在我的app.run()函数中注入我的第一个服务时,我遇到了一个错误。(.config()执行得很好,因为我在这里没有自定义依赖项以及 . 的三个第一个依赖项 .run()。确实是我个人实现的依赖项失败了。)

有人已经面临类似的问题吗?知道是什么原因造成的吗?

4

1 回答 1

1

好的...我发现闭包编译器导入文件的方式与我以前使用的 grunt 任务不同。

当使用符号时,src/js/controllers/**/*.js我希望它直接在我的控制器文件夹中导入文件,但它没有。

我肯定已经检查过了,但我肯定犯了一个错误,将旧文件与旧文件而不是新文件进行比较;这就是为什么我认为我在文件中获得了所有依赖项,并且在检查时以相同的顺序...

于 2018-04-27T08:48:18.360 回答