【问题标题】:Is including unused JavaScript files a bad practice? [closed]包含未使用的 JavaScript 文件是一种不好的做法吗? [关闭]
【发布时间】:2013-05-15 16:20:09
【问题描述】:

出于显而易见的原因,我在很多网站中都使用 jQuery。所以我只是将它包含在header.php 文件中。我还包含了其他 JavaScript 库,所以最后我得到了这样的结果:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="http://example.com/js/classes.js"></script>
<script type="text/javascript" src="http://example.com/js/common.js"></script>

有时包含更多内容,其中一些我仅在 1-2 页中使用。将这些 JavaScript 文件也包含在每个其他页面中是一种好习惯吗?它会降低性能吗?我的意思是,我知道它们必须第一次下载,但之后它们会被缓存,不是吗? 那么仅包含(不使用)如何影响性能?缓存文件如何改变这种情况?

如果它影响性能,我应该这样做:

<?php if (JSFileNeeded) { ?>
   <script type="text/javascript" src="http://example.com/js/classes.js"></script>
<?php } ?>

我可以使用哪些其他技术来删除未使用的文件包括?

【问题讨论】:

  • 脚本缓存好后,后续的页面访问应该会有差异。受影响最大的页面是第一次原始页面访问。

标签: javascript performance include


【解决方案1】:

我建议您使用 requireJS 来满足您的所有 javascript 依赖需求:http://requirejs.org/。它可能比使用后端代码打开和关闭脚本标签更优雅。

无论哪种方式,包含未使用的文件通常都是一个坏主意,即使它们被缓存,它们仍然会占用内存。如果它们没有被缓存,那么额外的连接和网络上的更多位会降低您的页面速度。

在宽带连接上,未使用的文件不太可能产生太大影响。但是,如果在手机上通过间歇性数据连接查看页面,则可能会使页面变慢甚至无法加载。

【讨论】:

  • 还存在包含但未使用的脚本更改/破坏全局命名空间中的数据或运行不需要的全局代码的风险。
  • 即使使用文件中的代码,这种风险仍然存在。
  • 是的,但是当有问题的脚本“出于某种原因”不存在时,它更有可能被遗漏。
猜你喜欢
  • 1970-01-01
  • 2017-05-08
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
  • 1970-01-01
相关资源
最近更新 更多