是否使用echo base_url();调用CSS,图像和Javascript文件使网站变慢?

时间:2012-01-05 21:28:39

标签: codeigniter codeigniter-2

我正在使用Codeigniter。我将我的图像,CSS和Javascript文件保存在我的应用程序的文档根目录中名为“support”的文件夹中。所以我的文档根文件夹看起来像这样 -

.settings
application 
support
system
.buildpath
.project
 index
.htacces

现在我的问题是它是否会让我的网站需要时间加载,因为每次我需要从支持文件夹中获取内容时我必须使用<? echo base_url();?>support/?因为你看我何时使用<? echo base_url();?>我实际上是在调用完整的网站地址..我有7个CSS和13个javascript文件可以从“支持”调用,所以它肯定需要时间来加载网站。 (如果我错了,请纠正我)。如果你认为一个网站可能会变慢,请你告诉我我应该把CSS,图像和javascript文件放在哪里。我听说观点不是一个好地方。

提前致谢:)

1 个答案:

答案 0 :(得分:1)

这个问题可能比你想象的要大。

首先,使用<? echo base_url();?>代替&#34;硬编码&#34;您的网址不会减慢您的网站速度。像这样的函数调用非常可以忽略加载页面的速度。

我认为问题的另一部分是关于架构

当您想到网站的 speed 时,您需要知道哪些因素会降低网页的加载速度。 (虽然不是一个详尽的清单,但这对你的情况有帮助):

  1. 需要为您的网页加载的文件(图片,css,javascript等)的数量
  2. 这些文件的缓存能力
  3. 一些服务器端标题废话(电子标签和其他)
  4. 构建php页面的处理
  5. 您网页的尺寸
  6. 现在,在您的实例中,我建议您放置所有&#34;静态&#34;文件根目录下的文件(例如static)。然后,在您的&#34;视图&#34;中访问它们。使用base_url()函数。

    这样,您的页面将被传送到浏览器,将对这些静态文件进行外部调用 - 允许浏览器缓存所有这些文件(假设标题设置正确)。如果您将它们放入视图中,那么它们实际上会添加到正在请求的页面中。因此,请求的下一页必须再次下载这些文件以及请求的第二页。有意义吗?

    为了帮助处理&#34;数量的文件&#34;,您可以随时连接和缩小您拥有的任何css / javascript。因此,除了浏览器下载和缓存8个js文件外,您还可以使用所有代码为其提供1个js文件。