我有一个Web应用程序,目前分为40多个javascript文件。当我运行应用程序时,浏览器需要下载这些文件的一些子集。显然,鉴于浏览器使用~6个线程来下载文件,这不是最佳解决方案。我想到的一个优化想法是在服务的.aspx页面中嵌入所有这些javascript文件(外部文件除外)。这样浏览器就可以获得一个大的html文件,而不需要进行任何往返服务器的访问。单独的html页面可能包含每个请求都不同的用户特定数据。但是,脚本在请求之间不会发生变化。在典型的用例中,页面(包含脚本)有180KB(脚本未缩小)或130KB(缩小)。
现在的问题是:这种方法在性能方面是否有任何缺点(网络,浏览器和javascript引擎)?你知道有什么大型应用程序做这样的事吗?请注意,我对关于例如的论点不感兴趣。可维护性,因为在开发过程中各个脚本仍可作为单独的文件使用。同样的问题适用于css文件(即使这在我的应用程序中不是问题)。
这里可能很重要的一点信息:应用程序是一个大的多页表单,不需要在页面之间进行回发,验证表单,提交表单等。但是,嵌入它的应用程序可能有多种这样的形式。
答案 0 :(得分:0)
通常,将javascript和css文件连接在一起是一个非常好的想法。我对“你的概念”不太确定。我最关心的问题是,.aspx文件是否可能以任何方式改变(动态)代码? 这将使浏览器无法缓存文件,这将是一个可怕的场景。
关于连接文件的好处是,我们有一个很大的下游(仍然比使用多个单个请求和HTTP开销下载快得多),浏览器可以在之后缓存此文件。
有一些很棒的构建工具和脚本可供使用,Apache ANT是我真正建议的。你应该看看他们经常使用ANT的HTML5 Boilerplate。