百度js和css合并压缩是如何做的?

JavaScript010

百度js和css合并压缩是如何做的?,第1张

简单来说是通过插件实现,当然现在淘宝出的服务器(nginx修改版)自带有这个功能。 通过一个url地址里写上每个js或者css 路径,然后插件通过路径将js/css 进行gzip形式压缩,最后组合成一个文件输出。你能看到的输出格式是php后缀,但是输出文件的表头是js/CSS 这样浏览器也就当是js/css来解析了。

合并代码工具我推荐minify (PHP),这个比较早,也很简单。

压缩的话网上有很多地方都提供在线压缩

简单说说 JS压缩:

1. 长变量变量名 压缩为短变量名,去空格,去注释

2. 可以将 new Array() 改写为 [], new Object 改写为{} 云云

3. 使用eval, 关键词等等 的复杂逻辑 也可以压缩

这样处理过后,如果觉得还是太大了,还可以采用服务端的gzip压缩传输

最后我还想说一句,除非是那种文件以架构模块的形式大量存在,经过不同人手,没办法要这样合并在一起。反倒是有害无益。一般网站这样的合并压缩完全没必要,虽然减少了服务器请求量但是加大了初次加载量,你想一个页面一开始就加载一大堆没用的东西不是浪费吗?有人说第一次加载了缓存起来 后面的页面打开就更快了。我想说这种强盗逻辑不适合所有情况,他严重影响了网站初次打开速度,网站初次打开速度对于我这种搞电商的人来说 是致命的。用户打开网站每慢一秒一年就会损失很大一笔。 我们应该系统的有逻辑关联的来组织js/css的结构和 相互关联关系。写一个好的js/css 架构胜过你用任何插件工具优化。

会的,网站打开顺序首先是html文档 遍历dom(就是从上到下,从外到内的HTML标签),在遍历DOM的时候中间如果穿插了js会被中断,js解析完成了才继续往下加载。最好不要在html标签中间写js和css, js一般都放在</boyd>前面。css当然还是在head里。

加载顺序:1. HTML 2.CSS 3.JS

css或者 JS过大都会影响网站的显示和响应速度。

当然大小的话把握一个度就好了,不必要苛刻,css gzip压缩后10K内是可以接受的。

曾经我用minify把整站的js合并了,现在才发现这是一个很严重的错误....减少了请求加大了初次打开的请求量。很多代码初次加载根本用不到,完全浪费。 很多人说一次加载完了其他页面直接读缓存就好了。可是当前段工程狮了解到了什么是模块化就不会这样干了。一个网站要有清晰的思路全局的概念,才能步步为营。