3

我有一个巨大的 angularjs 应用程序,其中包含许多.js文件。

据我所知,浏览器应该打开一个新的连接来访问每个文件。文件大小对性能无关紧要,但打开新连接却很重要。

所以这就是为什么我正在寻找一些 js-assembler 来制作单个.js文件。

我不确定我应该在 Angular 应用程序的情况下这样做吗?谁能建议我应该选择哪个 js 汇编器?

4

3 回答 3

5

我认为您真正需要的是一个工具来连接和缩小或压缩 JavaScript 和 CSS 资产。就像Rails 世界中的资产管道一样。

正如您提到的,您有两个项目的后端是Nodejs,另一个是Java,所以我将这个问题分为这两个方面:

  1. Nodejs端

    正如 Antoine 所说,您可以使用 gruntjs( http://www.gruntjs.com/ ) 之类的构建工具编写一个简单的任务来连接所有 js 文件。或者,您可以使用connect-assets等工具从后端提供连接文件(如果您碰巧使用连接 Web 框架),更多详细信息请参阅此问题:Concat and minify JS files in Node

  2. Java端

    wro4j非常方便,它提供了您在 Java 项目中处理资产所需的几乎一切。您可以在他们的 github 页面中查看详细使用情况。除此之外,Google Closure Compiler也是一个不错的选择。

您可以使用任何您喜欢的工具来连接/缩小/丑化多个 javascript 文件,但有些工具可能会提供简单的集成或其他功能(如服务器端动态服务器)。因此,请检查每种工具并决定要使用哪一种。

所以总而言之,Angularjs的资产管理与任何其他Javascript框架/文件没有区别,除了模板异步加载。(如果你在单独的文件中编写模板,请确保前端可以直接访问该模板文件并跳过连接模板文件的过程)。

希望有帮助,谢谢。

于 2013-07-15T06:27:33.650 回答
4

看看 grunt:http ://www.gruntjs.com/

这是一个可以自动化此类过程的工具,其中包括(例如在合并文件之前缩小文件)对于 javascript 应用程序开发非常有用。

于 2013-07-15T02:48:25.280 回答
2

使用ngmin+Closure Compiler

取自:http ://briantford.com/blog/huuuuuge-angular-apps

...构建过程

诚然,这是 Angular 需要做得更好的一件事,而我在 2013 年的宏伟目标之一就是在这方面提供帮助。我已经发布了 ngmin,我希望这个工具能够最终解决最小化 AngularJS 应用程序以进行生产的问题。

目前,我认为最好的办法是先将 JavaScript 文件与 app.js 连接,然后使用 ngmin 注释 DI 函数,最后使用带有标志 --compilation_level SIMPLE_OPTIMIZATIONS 的 Closure Compiler 进行缩小。你可以在 angular.js 的构建过程中看到一个这样的例子。

我不建议将 RequireJS 与 AngularJS 一起使用。虽然这当然是可能的,但我还没有看到任何 RequireJS 在实践中有益的例子。

其他链接:

于 2014-07-09T22:16:11.207 回答