将所有JS和CSS合并为内联?

时间:2014-10-01 07:02:40

标签: javascript php css

假设一个网站将所有必需的css和js文件链接收集到一个数组中,然后将它们包含在一个标题中,如下所示:

<link rel='stylesheet' href='[CSS-FILE-LINK].css' type='text/css' />

<script type='text/javascript' src='[JS-FILE-LINK].js'></script>

其中一些是本地文件,一些是远程文件。

一般 - 包含远程链接的链接是否有任何缺点,但输出本地内联链接?

更具体地说:我现在主要担心的是变量名称是否存在争议...... CSS我猜想只是从一开始就用来处理冲突/覆盖的方式进行级联......但JS我不确定 - 一个js文件中的全局变量是否与另一个js文件中的全局变量冲突?

加分: 假设为了提高速度是一个好主意,因为请求之间的延迟减少了,在这种情况下readfile()或file_get_contents()会更好吗?

3 个答案:

答案 0 :(得分:1)

你可以从本地文件输出CSS(请不要复制它,如果你这样做,你肯定会遇到麻烦:D)。

人们通常做的是在开发过程中保持关联的东西,并在生产时尽快使用连接和丑化。

全局JS变量通常是一个坏主意,是的,它们可能会发生冲突(它们附加到窗口对象,它是全局可用的)。

答案 1 :(得分:0)

缺点是您的初始页面加载会更重。如果您的文件很小,由于请求数量减少,它仍然是性能的净增益。

CSS处理冲突就像你说的那样,JS没有。这就是你should not put things in the global scope的原因。

答案 2 :(得分:0)

JS全局变量可能会使您的网络运行严重,非常糟糕。如果您有更改,我建议您使用JS模块模式,这样您就可以拥有单独的命名空间,这样您就不会遇到全局JS的问题。

如果您想赢得速度,可以使用亚马逊商店静态内容。您可以将请求缓存到您的css / js文件中,它会更快,不是很难设置并且不贵。