2010-11-08 75 views
1

我刚刚使用萤火虫和所有和JavaScript文件检查我的页面大小等于478.2K!JavaScript文件太大? - mvc

<script src ="<%= Url.Content("/Scripts/MicrosoftAjax.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/MicrosoftMvcAjax.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/jquery-1.3.2.min.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/jquery.form.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/jquery.validate.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/xVal.jquery.validate.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/temp.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/jquery-ui-1.8.5.custom.min.js") %>"></script> 
    <script src ="<%= Url.Content("/Scripts/jquery.ui.tabs.js") %>"></script 

temp.js是我自己的文件,它有几行代码(如10-20)。

那么是怎么回事?我的意思是如何解决这个问题?

回答

0

您可以尝试gzip压缩,以便服务器对其进行压缩并由浏览器解压缩。这应该有所帮助。

也许有些东西like this

还是更好,在IIS本身like this

0

考虑您导入了jQuery UI库,jQuery的,微软的Ajax框架,一些验证框架等。它不是太糟糕..

您可以尝试再压缩文件以节省空间。这里YUI Compressor

0

如果使用众所周知的和流行的库(如jQuery),您可以使用外部从CDN内容分发网络),这是极有可能已经有浏览器缓存中的宿主文件(因此将不需要再次下载):google list of libsjquery ref

缩减大小是:http://jscompress.com/

我也建议重构它(改写所以使用较少的内存)。

1

开始摆脱Microsoft*.js。如果你使用jQuery,你不需要这些。

+0

客户端验证如何? – 2010-11-08 12:48:31

+0

'jquery.validate.js'应该绰绰有余。 – 2010-11-08 12:48:57

+0

我从哪里得到? :)我总是使用微软的一个,所以它与我的验证模型 – 2010-11-08 12:50:38

1

我建议你使用每个js文件的缩小版本,并且将它们合并成一个单独的js文件(或者尽可能少)。 Here是一个有趣的文章,可以帮助你。

1

除了temp.js(你说的很小)之外,所有其他文件都是第三方库。

我假设你在每个页面上使用所有这些库?如果没有,你可以做的一件事就是只在他们正在使用的页面上包含它们。

文件名称表明其中一些已被最小化。如果其他人没有,可以通过最小化工具运行它们,或者返回到主页,查看它们是否提供了可以使用的最小化版本。

其中一些用户也可能在其网站上提供一个选项,以仅包含您打算使用的功能。 JqueryUI确实这样做了,尽管从你使用的文件名看起来你已经使用它,但检查是否有任何其他库也提供。

检查您没有任何重叠功能 - 您可以通过删除冗余代码来合理化。如果这意味着编辑第三方库(这通常不是一个好主意),那么你必须非常谨慎,但是你可能会发现你已经拥有了完全不必要的整个库,在这种情况下,它可以快速胜出其中之一。

如果您想将某些脚本卸载到第三方,Google承载JQuery,JQueryUI和许多其他插件,并允许网站从其服务器加载它们。它不会影响用户必须下载的脚本的大小,但会为您的服务器节省相当多的带宽。

尽管如此,你还是有很多大脚本,而且它们提供了很多功能。如果你需要所有的功能,你必须忍受代码的重量。

1

他们有很多事情你可以为这种情况

  1. 使用精缩版或正式版,而不是开发者版本
  2. 从CDN加载它们,如果你能做到这一点。
  3. 如果文件长时间没有变化,您需要使用缓存。

在应用程序性能改进方面,您可以做很多其他的事情。