MEAN.js - 部署时是否应合并所有js文件

时间:2016-04-11 22:33:56

标签: angularjs meanjs

我有一个MEAN.js应用程序的问题,因为它加载速度很慢,从检查中我可以看到它在70个不同的文件中加载js。

几个问题

为什么有这么多js文件分开?他们是不是可以合并成一个并像YSlow建议那样更快地服务?

编辑

 'modules/*/client/*.js',
 'modules/*/client/**/*.js'

文件夹结构

modules/savings/client/controllers/client.controller.js

1 个答案:

答案 0 :(得分:1)

MEAN.js涵盖了这一特定方面。实际上,如果您仅使用grunt命令运行应用程序,该应用程序将开始在开发环境中运行,因此js文件(来自第三方库或甚至您的自定义js文件的文件)不会连接也不会连接精缩。这有助于您在调试时。然而,就性能而言,这对于生产中的应用来说显然不太好。

如果使用命令grunt prod,您的应用程序将开始以生产模式运行,因此您的自定义js文件将被连接并进行连接。第三方库文件不会被连接,但grunt将使用它们的缩小版本。

您可以分别在config/assets/development.jsconfig/assets/production.js中查看将为开发和生产模式加载哪些资产。

此外,如果您想查看gruntgrunt prod任务之间的差异,可以查看gruntfile.js

注1:我提到的关于grunt的命令也可以与gulp一起使用,因为MEAN.js同时具有gruntfile.js和{{{} 1}}已定义。

注意2:如果在使用gulpfile.js并且仍然加载了这么多文件时,这意味着您正在使用大量第三方库和可能的解决方案对于这种情况,将第三方库文件连接到grunt prod文件中,但是这样做可能会遇到麻烦,例如像AngularJS这样的库需要使用特定订单加载文件。如果您编辑gruntfile以实现此类任务,则需要格外小心。