作家
登录

关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案

作者: 来源: 2017-10-12 09:09:19 阅读 我要评论

  •       template: 'index.html'
  •       inject: true 
  •     }) 
  •   ]  
  • };  
  • 你还会留意到,非关键CSS应用了一个看起来更复杂的link标签来加载。rel="preload"通知浏览器开端获取非关键CSS以供之后用。其关键在于,preload不壅塞衬着,无论资本是否加载完成,浏览器都邑接着绘制页面。

    正如你所看到的,我的应用法度榜样First Meaningful paint时光缩短了将近1秒,达到可交互状况的时光节俭了0.5秒。实际中,你的应用法度榜样可能无法获得如斯惊人的改良,因为我的CSS很粗笨(我包含了全部Bootstrap库),并且在如许一个简单的应用法度榜样中,我没有很多关键CSS规矩。

    link标签中的onload属性许可我们在非关键CSS加载完成时运行脚本。Critical模块可以主动将此脚本嵌入到文档中,这种方法供给了将非关键CSS加载到页面中的跨浏览器兼容办法。

    1. <link href=http://developer.51cto.com/art/201710/"/style.96106fab.css" rel="preload" as="style" onload="this.rel='stylesheet'"

    把Critical组件添加到webpack打包流程中

    我创建了一个名为HTML Critical Webpack Plugin的插件,该插件仅仅是Critical模块的封装。它将在HTML Webpack Plugin输出文件后运行。

    你可以在Webpack的项目中如许惹人:

    1. const HtmlCriticalPlugin = require("html-critical-webpack-plugin"); 
    2.  
    3. module.export = { 
    4.   ... 
    5.   plugins: [ 
    6.     new HtmlWebpackPlugin({ ... }), 
    7.     new ExtractTextPlugin({ ... }), 
    8.     new HtmlCriticalPlugin({ 
    9.       base: path.join(path.resolve(__dirname), 'dist/'), 
    10.       src: 'index.html'
    11.       dest: 'index.html'
    12.       inline: true
    13.       minify: true
    14.       extract: true
    15.       width: 375, 
    16.       height: 565, 
    17.       penthouse: { 
    18.         blockJSRequests: false
    19.       } 
    20.     }) 
    21.   ]  
    22. };  

    留意:你应当只在临盆版本中应用,因为它将使你的开辟情况的构建很慢

    表示结不雅

    如今已经抽离了关键CSS,并且把非关键CSS的加载放到余暇时光,这在机能方面会有如何的晋升呢?

    我应用Chrome的Lighthouse扩大插件进行测试。请记住,我们测验测验优化的指标是“初次有效绘制”,也就是用户须要多久才能看到真正可浏览的页面。

    应用区分关键CSS技巧的表示



      推荐阅读

      杭州100余路口已实现信号灯无人调控,杭州城市大脑1.0正式发布

    随后,城市大年夜脑1.0正式宣布,交出了用智能治理城市的周年答卷:接收杭州128个旌旗灯号灯路口,试点区域通行时光削减15.3%,高架门路出行时光节俭4.6分钟。在主城区,城市大年夜脑日发>>>详细阅读


    本文标题:关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案

    地址:http://www.17bianji.com/lsqh/37817.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)