首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript文件存储

javascript文件存储
EN

Stack Overflow用户
提问于 2011-07-26 12:14:10
回答 3查看 91关注 0票数 1

我已经在我的项目页面的header.php中存储了javascript文件。随着时间的推移,这已经增长到很多文件。需要一个高级成员的帮助,谁可以指导我如何存储这些?我找遍了网络也没找到关于这个的任何东西。所以这是我的最后一站。这些是否应该存储在header.php中(所以我所做的是正确的?)。是否应该将它们单独存储在使用它们的.php页面上?还是有其他更好、更有效的方法来做到这一点?(我也有一些原型和脚本文件)

代码语言:javascript
复制
<script type="text/javascript" src="javascript/prototype.js"></script>

<script type="text/javascript" src="javascript/scriptaculous.js"></script>

<script src="javascript/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
     jQuery.noConflict();          
</script>

<script type="text/javascript" src="javascript/jquery.colorbox.js"></script>

<script type="text/javascript" src="javascript/friends.js"></script>

<script type="text/javascript" src="javascript/site.js"></script>

<script type="text/javascript" src="javascript/search.js"></script>

<script type="text/javascript" src="javascript/settings.js"></script>

<script type="text/javascript" src="javascript/inbox.js"></script>

<script type="text/javascript" src="javascript/profile.js"></script>

<script type="text/javascript" src="javascript/color_picker.js"></script>

<script type="text/javascript" src="javascript/load_more.js"></script>

<script type='text/javascript' src='javascript/jquery.bgiframe.min.js'></script>

<script type='text/javascript' src='javascript/jquery.Queue.js'></script>

<script type='text/javascript' src='javascript/jquery.autocomplete.js'></script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-26 17:40:41

你在这里加载了15个脚本,包括3个库!这完全是大材小用,会减慢你的页面速度。你永远不应该有两个以上的Javascript文件:每个额外的文件都会产生一个额外的HTTP请求,这是导致页面变慢的首要原因。

至少,您应该将所有文件合并为一个文件。您可以使用Google's Closure Compiler来完成此操作,这也将最小化代码。

然而,你更大的问题是你同时使用3个不同的库。我猜你在互联网上找到了一些不错的脚本,比如lightboxes,但每个脚本都使用不同的库。你当然可以将你的代码分成3个文件,每个库和它们的插件(即所有的jQuery内容在一个文件中,脚本在另一个文件中),并且每个页面只调用其中的一个。

然而,我建议从头开始,选择一个库,然后找到那个库的插件。jQuery是最受欢迎的,你可能会找到与之相当的插件。将所有这些合并到一个Javascript文件中,并将其包含在每个页面上。这样,用户只需要下载一个文件,该文件将被缓存以供以后的请求使用。

票数 1
EN

Stack Overflow用户

发布于 2011-07-26 12:31:57

Javascript模块化确实是一件棘手的事情。

我个人使用Dojo toolkit中的模块处理特性,但也有像RequireJS这样的独立模块系统可以做到这一点。(我不知道在JQuery-land中的“传统”解决方案是什么)

如果您不想或不能使用这些模块处理库中的任何一个,您将需要手动构建所有内容,因此对于每个功能,您将需要在需要使用它的每个页面上包含它的脚本标记(如果有依赖关系,请按照正确的顺序)。

如果加载所有脚本的时间太长,您可以考虑做一些与性能相关的事情:

  1. 将一些相关的脚本组合并到单个大文件中。这将减少向服务器发出的请求数量。
  2. 将您的脚本标记放在<body>的末尾,而不是<head>。这样,浏览器至少可以在停止加载脚本之前先呈现页面的其余部分。
票数 1
EN

Stack Overflow用户

发布于 2011-07-26 14:36:37

首先,在给定的页面上,只加载需要的那些js文件。

其次,如果你有太多的js文件,最好的办法是使用RequireJS

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6825173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档