开发前端需要哪些优化_前端开发有哪些优化技巧
当今数字世界,存在着无数的网站,每天都需要处理各种不同的原因的访问。那么没怎么优化的网站会被各种各样的问题困扰。下面由学习啦小编为大家整理的前端开发优化技巧,希望大家喜欢!
前端开发优化技巧
1. 清理 HTML 文档
HTML,即超文本标记语言,几乎是所有网站的支柱。HTML 为网页带来标题、子标题、列表和其它一些文档结构的格式。在最近更新的 HTML5 中,甚至可以创建图表。
HTML 很容易被网络爬虫识别,因此搜索引擎可以根据网站的内容在一定程度上实时更新。在写 HTML 的时候,你应该尝试让它简洁而有效。此外,在 HTML 文档中引用外部资源的时候也需要遵循一些最佳实践方法。
恰当放置 CSS
Web 设计者喜欢在网页建立起主要的 HTML 骨架之后再来创建样式表。这样一来,网页中的样式表往往会放在 HTML 的后面,接近文档结束的地方。然而推荐的做法是把 CSS 放在 HTML 的上面部分,文档头之内,这可以确保正常的渲染过程。
这个策略不能提高网站的加载速度,但它不会让访问者长时间看着空白屏幕或者无格式的文本(FOUT)等待。如果网页大部分可见元素已经加载出来了,访问者才更有可能等待加载整个页面,从而带来对前端的优化效果。这就是知觉性能。
正确放置 Javascript
另一方面,如果将 JavaScript 放置在 head 标签内或 HTML 文档的上部,这会阻塞 HTML 和 CSS 元素的加载过程。这个错误会导致页面加载时间增长,增加用户等待时间,容易让人感到不耐烦而放弃对网站的访问。不过,您可以通过将 JavaScript 属性置于 HTML 底部来避免此问题。
2. 优化 CSS 性能
CSS,即级联样式表,能从 HTML 描述的内容生成专业而又整洁的文件。很多 CSS 需要通过 HTTP 请求来引入(除非使用内联 CSS),所以你要努力去除累赘的 CSS 文件,但要注意保留其重要特征。
如果你的 Banner、插件和布局样式是使用 CSS 保存在不同的文件内,那么,访问者的浏览器每次访问都会加载很多文件。虽然现在 HTTP/2 的存在,减少了这种问题的发生,但是在外部资源加载的情况下,仍会花费较长时间。要了解如何减少 HTTP 请求以大幅度缩减加载时间,请阅读WordPress 性能。
此外,不少网站管理员在网页中错误的使用 @import 指令 来引入外部样式表。这是一个过时的方法,它会阻止浏览并行下载。link 标签才是最好的选择,它也能提高网站的前端性能。多说一句,通过 link 标签请求加载的外部样式表不会阻止并行下载。
3.减少外部HTTP请求
在很多情况下,网站的大部分加载时间来自于外部的 Http 请求。外部资源的加载速度随着主机提供商的服务器架构、地点等不同而不同。减少外部请求要做的第一步就是简略地检查网站。研究你网站的每个组成部分,消除任何影响访问者体验不好的成分。这些成分可能是:
不必要的图片
没用的 JavaScript 代码
过多的 css
多余的插件
在你去掉这些多余的成分之后,再对剩下的内容进行整理,如,压缩工具、CDN 服务和预获取(prefetching)等,这些都是管理 HTTP 请求的最佳选择。除此之外,减少DNS路由查找教程会教你如何一步一步的减少外部 HTTP 请求。
4. 压缩 CSS, JS 和 HTML
压缩技术可以从文件中去掉多余的字符。你在编辑器中写代码的时候,会使用缩进和注释,这些方法无疑会让你的代码简洁而且易读,但它们也会在文档中添加多余的字节。
例如,这是一段压缩之前的代码。
.entry-content p {
font-size: 14px !important;
}
.entry-content ul li {
font-size: 14px !important;
}
.product_item p a {
color: #000;
padding: 10px 0px 0px 0;
margin-bottom: 5px;
border-bottom: none;
}
把这段代码压缩后就成了这样。
.entry-content p,.entry-content ul li{font-size:14px!important}.product_item p a{color:#000;padding:10px 0 0;margin-bottom:5px;border-bottom:none}
使用压缩工具可以非常简单地把无用的字节从你的 CSS、JS 和 HTML 文件修剪掉。关于压缩的相关信息,可以参阅如何压缩 CSS、JS 和 HTML。
5. 使用预先获取
预先获取可以在真正需要之前通过取得必需的资源和相关数据来改善访问用户的浏览体验,主要有3类预先获取:
链接预先获取
DNS 预先获取
预先渲染
在你离开当前 web 页面之前,使用预先获取方式,对应每个链接的 URL 地址,CSS,图片和脚本都会被预先获取。这保证了访问者能在最短时间内使用链接在画面间切换。
幸运的是,预先获取很容易实现。根据你想要使用的预先获取形式,你只需在网站 HTML 中的链接属性上增加 rel="prefetch",rel="dns-prefetch",或者 rel="prerender" 标记。
6. 使用 CDN 和缓存提高速度
内容分发网络能显著提高网站的速度和性能。使用 CDN 时,您可以将网站的静态内容链接到全球各地的服务器扩展网络。如果您的网站观众遍布全球,这项功能十分有用。CDN 允许您的网站访问者从最近的服务器加载数据。如果您使用CDN,您网站内的文件将自动压缩,以便在全球范围内快速分发。
web前端开发优化技巧
1. 压缩文件
虽然许多 CDN 服务可以压缩文件,但如果不使用 CDN,您也可以考虑在源服务器上使用文件压缩方法来改进前端优化。文件压缩能使网站的内容轻量化,更易于管理。 最常用的文件压缩方法之一是 Gzip。 这是缩小文档、音频文件、PNG图像和等其他大文件的绝佳方法。
Brotli 是一个比较新的文件压缩算法,目前正变得越来越受欢迎。此开放源代码算法由来自 Google 和其他组织的软件工程师定期更新,现已被证明比其他现有压缩方法更好用。这种算法的支持目前还比较少,但作为后起之秀指日可待。
了解更多信息,请阅读我们有关 Brotli 压缩的完整文章。
2. 优化你的图片
对于那些不懂得前端优化的人来说,图片可能会是一个“网站杀手”。大量的写真集和庞大的高清图片会阻塞网页渲染速度。没有优化的高清图片可能会有几兆字节(mb)。因此适当地对它们进行优化可以改善网页的前端性能。
每个图像文件都包含了一些与纯照片或图片无关的信息。比如 JPEG 图片,它包含了日期、地点、相机型号和一些其他不相关的信息。你可以用一些如 Optimus 的优化工具来删除这些多余的图像数据来精简图像的冗长的加载过程。因为 Optimus 是一个无损的图片压缩工具,它不会影响图像画质,只是压缩图片体积。
另外,如果你想进一步的优化一张图片,你可以使用有损压缩,它会删除一些图片里面的数据,因此质量会受损。
进一步的学习有损和无损压缩之间的区别,请阅读我们完整的教程。
3. 使用轻量级框架
除非你只用现有的编码知识构建网站,不然,你可以尝试使用一个好的前端框架来避免许多不必要的前端优化错误。虽然有一些更大,更知名的框架能提供更多功能和选项,但它们不一定适合你的Web 项目。
所以说,不仅确定项目所需功能很重要,选择合适的框架也很重要——它要在提供所需功能的同时保持轻量。最近许多框架都使用简洁的 HTML,CSS 和JavaScript 代码。
以下是几项可以加快读取的轻量级框架:
Pure
Skeleton
Milligram
框架并不能代替网页设计,编程和维护。举个简单的例子,我们假设框架是一个新房子。房子干净整洁,但它是空的。在你添加家具,家电和装饰品时,你有责任确保房子不会变得凌乱。同样地,当您使用了一个框架,您就有责任确保它不会被冗余的代码,大图片和过多的HTTP 请求破坏。
前端九段,你是哪一段
1、第一段:位于一段水平的前端人员熟悉HTML语法,熟悉网页设计工具,能够独立写出HTML网页,简单说就是:能切图。
2、第二段:相比一段水准,二段的人了解CSS,懂得使用CSS来简化网页设计以及风格复用,熟练掌握盒装模型等;同时,会使用Javascript写出简单的网页效果。归为一句话:切好图。
3、第三段:开始对浏览器兼容性问题有一定的研究,能深入了解CSS标准以及差异性;同时了解HTML5以及Javascript类库(如jQuery等),能够使用Javascript完成特效和DOM操作,熟悉函数指针和函数回调机制等。位于这一段位的前端人员可以使用【前端开发】这个称号了,可以做到熟练切图。
4、第四段:对浏览器兼容性问题了如执掌,精通CSS、HTML特性,尤其是CSS3和HTML5,精通一个JS类库、框架或以上,会使用JS写插件,精通闭包等。位于这一段位的开发人员可以说是精通切图技术。
5、第五段:这一段位的前端开发人员已不满足于熟悉一两个框架,开始探求更多的框架来学习。除此之外更重要的是,开始探索并了解CSS、JS的运行机制,能对CSS和JS进行优化设计,熟悉浏览器调试技巧,可以修改标准类库。这类人员可以认为是【高级前端开发人员】。
6、第六段:这个段位的开发人员开始设计自己的类库,开始做架构的工作。能利用工具进行代码优化和性能优化,熟悉各种开发工具来提升开发效率。
7、第七段:这一段位的开发人员一般在维护自己或者他人的开源类库,不仅如此,他们已不满足于CSS、JS等语言了,混到这个段位,HTML、CSS、JS仅仅是玩具而已。到这一步,必须精通JS引擎的运行原理、浏览器渲染引擎和CSS渲染机制,熟悉浏览器内部运作机制,可以使用行业大牛称号。
8、第八段:这一段位的人已打通任督二脉,悟透了前端所有,开始研究浏览器源代码,甚至参与编写浏览器的编写工作,转入了C/C++的行列,达到了独孤求败的境界。
9、第九段:到这个段位,开始制定行业规范,成为HTML、CSS、JS规范的制定者,他们决定前端的未来。