0

我现在正在开发一个 Web 应用程序,它非常慢。在 Chrome 中查看网络监视器后,我看到它加载了几十个样式和脚本(可能超过 150 个)。这太荒谬了,所以我编写了一个 PHP 类来缩小我的脚本和样式并缓存它们。它现在正在工作,而且速度要好得多!

我只是想知道,为缩小的 JS 提供服务的最佳方式是什么?打印标签之间的所有JS <script>(以及标签之间的css <style>)更好还是我应该把所有东西都放在一个文件中,比如js_loader.php,我会在其中打印它并将标题设置为javascript?

对于最终用户来说最快的是什么?

谢谢!

4

2 回答 2

1

如果您可以将它们缩小并合并到一个文件中,请执行此操作。更多的脚本/链接标签意味着更多的 HTTP 请求,因此加载速度更慢。特别是关于 JS 的时候。

阅读@http://developer.yahoo.com/yslow/ 中Web Performance Best Practices and Rules主题

特别是主题#1 Minimize HTTP Requests#5 Gzip Components#11 Minify JavaScript and CSS。至于加载时间更令人敬畏,请阅读#6 Put StyleSheets at the Top#7 Put Scripts at the Bottom.

来自#7:

脚本引起的问题是它们会阻止并行下载。HTTP/1.1 规范建议浏览器每个主机名并行下载不超过两个组件。如果您从多个主机名提供图像,则可以同时进行两次以上的下载。但是,在下载脚本时,浏览器不会启动任何其他下载,即使在不同的主机名上也是如此。

于 2013-02-01T17:02:50.320 回答
0

当前的一些最佳实践是

  • <style>尽早加载,<head>以便尽早应用并且用户看不到“半生不熟”的页面

  • 关闭<script>前加载<body>

例如,参见 HTML5 样板

https://github.com/h5bp/html5-boilerplate/blob/master/index.html

永远不要使用内联 Javascript 或 CSS,因为这会增加后续页面加载的大小(相同的代码会一次又一次地加载......)

于 2013-02-01T17:00:59.743 回答