Dojo是否按需加载它实际上是一种性能改进?对我来说,至少?
我公司的网站将切换到主要使用Dojo的IBM Websphere。我的公司非常关注页面性能,主要是“页面加载秒数”。因此,我们给出的指令是“最大限度地减少对服务器的命中”,因此在我们当前的网站上,我们会在升级到生产之前汇总所有.js文件。
但是这条指令基本上已成为法律,现在,所以如果我反对它,我需要一个非常好的理由。我一直无法找到任何支持“即用即用”方法的东西,除了“这是一个好主意”和“只在你需要它时加载”(后者实际上只是基于前者,至于我可以告诉)。
然后,如果我要把所有内容压平成一个文件,我根本就不能使用dojo.require()语句,是吗? (想法是,如果我可以让开发方按模块拆分以使组织更合理,但是然后让生产版本成为单个文件,但是那时dojo.require()将不再有意义,然后我有一个越来越复杂的情况,我需要构建一些侵入性的东西到javascript打包生产。)
请抵制“取决于”答案。我见过的最佳实践文档(雅虎,谷歌等)几乎只是说“减少页面加载”并且没有太多“它依赖”它。但是Dojo的框架对于它的方法似乎是如此明确,我想知道是否有更有说服力的论据。
答案 0 :(得分:1)
Dojo实际上结合了这两种方法。在开发模式下,有许多文件使用define
(dojo.require
已过时)来动态加载其他模块。这非常适合抽象和开发。
然后有“生产模式”,您可以使用dojo构建系统将所有这些小文件编译成一个或多个(aka。层)缩小的Javascript文件。这样可以减少对服务器的命中,同时仍然保持所有模块化。使用层方法,稍后需要的应用程序数据将自动从单独的文件加载。