在 Closure Compiler 输出中包含 AngularJS 个部分模板

Include AngularJS partial templates in Closure Compiler output

我刚开始使用 AngularJS (1.4.7),希望使用 Closure Compiler 为新应用程序生成简洁的构建输出。

我成功生成了一个输出文件,其中包含我的所有应用程序 JavaScript,前面是它所依赖的每个库。

但是,我的应用程序使用 ngRoute,这会在访问时为每条路线加载控制器和部分 html 模板。每个模板都按要求加载,因此第一次使用路线时,模板下载会有延迟。

我习惯于使用 RequireJS,在 RequireJS 中模板可以被视为资源并捆绑到编译的构建产品中,但是我看不到使用 Angular 和 Closure 来做到这一点的方法.

我认为这是一个之前已经解决的问题,但我很难通过 Google 找到相关信息。

是否可以在使用 Closure Compiler 或其他工具生成的构建产品中包含部分模板?

处理此问题的最佳方法是分两步进行:

  1. 使用 r.js optimizer 订购您的依赖项并创建单个 JS 文件。
  2. 使用闭包编译器压缩来自 r.js 的输出文件。

require js 优化器可作为 grunt and gulp 插件使用。

使用 gulp,您只需将 requirejs 输出通过管道传输到编译任务中。对于 grunt,您需要将 optimize 属性 设置为 none 并生成一个中间文件。中间文件将是闭包编译器的 js 输入文件。