The Front-End Checklist

Posted colima

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The Front-End Checklist相关的知识,希望对你有一定的参考价值。

做个记录,摘自Front-End Performance Checklist 

html

  1. Minified HTML:技术分享图片 The HTML code is minified, comments, white spaces and new lines are removed from production files. 
  2. Remove unnecessary comments: 技术分享图片 Ensure that comments are removed from your pages.
  3. Remove unnecessary attributes: 技术分享图片 Type attributes like type="text/javascript" or type="text/css" are not required anymore and should be removed.
  4.  Place CSS tags always before JavaScript tags: 技术分享图片  Ensure that your CSS is always loaded before having JavaScript code.
  5. Minimize the number of iframes: 技术分享图片  Use iframes only if you don‘t have any other technical possibility. Try to avoid as much as you can iframes.

CSS

  1. Minification: 技术分享图片 All CSS files are minified, comments, white spaces and new lines are removed from production files.
  2. Concatenation: 技术分享图片 CSS files are concatenated in a single file (Not always valid for HTTP/2).(合并css,减少http请求,http2不必)
  3. Non-blocking: 技术分享图片 CSS files need to be non-blocking to prevent the DOM from taking time to load.(css必须是非阻塞的)
    How:You need to add the rel attribute with the preload value and add as="style" on the <link> element
    <link rel="preload" href="a.css" as="style" onload="this.rel=‘stylesheet‘">
    <noscript><link rel="stylesheet" href="a.css"></noscript>
  4. Length of CSS classes: 技术分享图片 The length of your classes can have an (slight) impact on your HTML and CSS files (eventually).
  5. Unused CSS: 技术分享图片 Remove unused CSS selectors.
  6. CSS Critical: 技术分享图片 The CSS critical (or "above the fold") collects all the CSS used to render the visible portion of the page. It is embedded before your principal CSS call and between <style></style> in a single line (minified if possible).
    取出首屏渲染所必须的 critical CSS,以内联的方式写在 <style></style> 之中,然后异步加载剩余的 CSS 样式,这相当于离线加载剩余部分的 CSS 样式,然后在后台将其注入到页面中。
  7. Embedded or inline CSS: 技术分享图片 Avoid using embed or inline CSS inside your <body> (Not valid for HTTP/2)
  8. Analyse stylesheets complexity技术分享图片 Analyzing your stylesheets can help you to flag issues, redundancies and duplicate CSS selectors.
    分析样式表,去除冗余重复的代码

Fonts

  1. Webfont formats: 技术分享图片 You are using WOFF2 on your web project or application.
  2.  Use preconnect to load your fonts faster: 技术分享图片
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  3. Webfont size: 技术分享图片 Webfont sizes don‘t exceed 300kb (all variants included)
  4. Prevent Flash or Invisible Text: 技术分享图片 Avoid transparent text until the Webfont is loaded

Images

  1. Images optimization: 技术分享图片 Your images are optimized, compressed without direct impact to the end user.
  2. Images format: 技术分享图片 Choose your image format appropriately.
  3. Use vector image vs raster/bitmap: 技术分享图片 Prefer using vector image rather than bitmap images (when possible).
    矢量图像(SVG)往往比图像小,SVG的响应速度和比例都很好
  4. Images dimensions: 技术分享图片 Set width and height attributes on <img> if the final rendered image size is known.
  5. Avoid using Base64 images: 技术分享图片 You could eventually convert tiny images to base64 but it‘s actually not the best practice.
  6. Lazy loading: 技术分享图片 Images are lazyloaded (A noscript fallback is always provided).
  7. Responsive images: 技术分享图片 Ensure to serve images that are close to your display size.(srcset和picture了解一下

JavaScript

  1. JS Minification: 技术分享图片 All JavaScript files are minified, comments, white spaces and new lines are removed from production files (still valid if using HTTP/2).
  2. No JavaScript inside: 技术分享图片 (Only valid for website) Avoid having multiple JavaScript codes embedded in the middle of your body. Regroup your JavaScript code inside external files or eventually in the <head> or at the end of your page (before </body>).
  3. Non-blocking JavaScript: 技术分享图片 JavaScript files are loaded asynchronously using async or deferred using defer attribute.
  4. Optimized and updated JS libraries: 技术分享图片 All JavaScript libraries used in your project are necessary (prefer Vanilla JavaScript for simple functionalities), updated to their latest version and don‘t overwhelm your JavaScript with unnecessary methods.
  5. Check dependencies size limit: 技术分享图片 Ensure to use wisely external libraries, most of the time, you can use a lighter library for a same functionality.(比如dayjs替代了momentjs)
  6. JavaScript Profiling: 技术分享图片 Check for performance problems in your JavaScript files (and CSS too).

Server

  1. Page weight < 1500 KB (ideally < 500 KB): 技术分享图片 Reduce the size of your page + resources as much as you can.
  2. Page load times < 3 seconds: 技术分享图片 Reduce as much as possible your page load times to quickly deliver your content to your users.
  3. Time To First Byte < 1.3 seconds: 技术分享图片 Reduce as much as you can the time your browser waits before receiving data.
  4. Cookie size: 技术分享图片 If you are using cookies be sure each cookie doesn‘t exceed 4096 bytes(4kb) and your domain name doesn‘t have more than 20 cookies.
  5. Minimizing HTTP requests: 技术分享图片 Always ensure that every file requested are essential for your website or application.
  6. Use a CDN to deliver your assets: 技术分享图片 Use a CDN to deliver faster your content over the world.
  7. Serve files from the same protocol: 技术分享图片 Avoid having your website using HTTPS and serve files coming from source using HTTP.
  8. Serve reachable files: 技术分享图片 Avoid requesting unreachable files (404).
  9. Set HTTP cache headers properly: 技术分享图片 Set HTTP headers to avoid expensive number of roundtrips between your browser and the server.
  10. GZIP / Brotli compression is enabled: 技术分享图片






以上是关于The Front-End Checklist的主要内容,如果未能解决你的问题,请参考以下文章

有迹可循之CheckList

有迹可循之CheckList

有迹可循之CheckList

Web front-end learning about Text and paragraph

新人求解.checklist怎么打开

前端 | Front-End