{"id":1435,"date":"2020-02-13T11:18:30","date_gmt":"2020-02-13T08:18:30","guid":{"rendered":"https:\/\/iamakulov.com\/notes\/?p=1435"},"modified":"2020-04-14T11:22:58","modified_gmt":"2020-04-14T08:22:58","slug":"how-to-load-polyfills-only-when-needed","status":"publish","type":"post","link":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/","title":{"rendered":"How to load polyfills only when needed"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In 2020, with fewer and fewer IE users, there\u2019s no excuse to serving ES2015 polyfills to anyone. So, here\u2019re three ways to avoid loading polyfills in modern browsers \u2013 in my new article on PerfPerfPerf:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udc49 <a href=\"https:\/\/3perf.com\/blog\/polyfills\/\">3perf.com\/blog\/polyfills<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In 2020, with fewer and fewer IE users, there\u2019s no excuse to serving ES2015 polyfills to anyone. So, here\u2019re three ways to avoid loading polyfills in modern browsers \u2013 in my new article on PerfPerfPerf: \ud83d\udc49 3perf.com\/blog\/polyfills<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"link","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1435","post","type-post","status-publish","format-link","hentry","category-uncategorized","post_format-post-format-link"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to load polyfills only when needed - Ivan Akulov\u2019s blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to load polyfills only when needed - Ivan Akulov\u2019s blog\" \/>\n<meta property=\"og:description\" content=\"In 2020, with fewer and fewer IE users, there\u2019s no excuse to serving ES2015 polyfills to anyone. So, here\u2019re three ways to avoid loading polyfills in modern browsers \u2013 in my new article on PerfPerfPerf: \ud83d\udc49 3perf.com\/blog\/polyfills\" \/>\n<meta property=\"og:url\" content=\"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/\" \/>\n<meta property=\"og:site_name\" content=\"Ivan Akulov\u2019s blog\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/iamakulov.page\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-13T08:18:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-14T08:22:58+00:00\" \/>\n<meta name=\"author\" content=\"Ivan Akulov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@iamakulov\" \/>\n<meta name=\"twitter:site\" content=\"@iamakulov\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ivan Akulov\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/\"},\"author\":{\"name\":\"Ivan Akulov\",\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/#\\\/schema\\\/person\\\/ebf7b61bf573e7be5fe438f50ebd9b81\"},\"headline\":\"How to load polyfills only when needed\",\"datePublished\":\"2020-02-13T08:18:30+00:00\",\"dateModified\":\"2020-04-14T08:22:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/\"},\"wordCount\":46,\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/\",\"url\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/\",\"name\":\"How to load polyfills only when needed - Ivan Akulov\u2019s blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/#website\"},\"datePublished\":\"2020-02-13T08:18:30+00:00\",\"dateModified\":\"2020-04-14T08:22:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/#\\\/schema\\\/person\\\/ebf7b61bf573e7be5fe438f50ebd9b81\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/how-to-load-polyfills-only-when-needed\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to load polyfills only when needed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/#website\",\"url\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/\",\"name\":\"Ivan Akulov\u2019s blog\",\"description\":\"Ivan Akulov writes about his front-end experience, React, webpack, and performance optimizations.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/iamakulov.com\\\/notes\\\/#\\\/schema\\\/person\\\/ebf7b61bf573e7be5fe438f50ebd9b81\",\"name\":\"Ivan Akulov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aec4e9e944911b58f2c3d14b7f9e5412a217e5738359c3f52e824b4de2b2263c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aec4e9e944911b58f2c3d14b7f9e5412a217e5738359c3f52e824b4de2b2263c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aec4e9e944911b58f2c3d14b7f9e5412a217e5738359c3f52e824b4de2b2263c?s=96&d=mm&r=g\",\"caption\":\"Ivan Akulov\"},\"description\":\"I'm a software engineer specializing in web performance, JavaScript, and React. I\u2019m also a Google Developer Expert. I work at Framer.\",\"sameAs\":[\"http:\\\/\\\/iamakulov.com\",\"https:\\\/\\\/x.com\\\/iamakulov\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to load polyfills only when needed - Ivan Akulov\u2019s blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/","og_locale":"en_US","og_type":"article","og_title":"How to load polyfills only when needed - Ivan Akulov\u2019s blog","og_description":"In 2020, with fewer and fewer IE users, there\u2019s no excuse to serving ES2015 polyfills to anyone. So, here\u2019re three ways to avoid loading polyfills in modern browsers \u2013 in my new article on PerfPerfPerf: \ud83d\udc49 3perf.com\/blog\/polyfills","og_url":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/","og_site_name":"Ivan Akulov\u2019s blog","article_publisher":"http:\/\/facebook.com\/iamakulov.page","article_published_time":"2020-02-13T08:18:30+00:00","article_modified_time":"2020-04-14T08:22:58+00:00","author":"Ivan Akulov","twitter_card":"summary_large_image","twitter_creator":"@iamakulov","twitter_site":"@iamakulov","twitter_misc":{"Written by":"Ivan Akulov"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/#article","isPartOf":{"@id":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/"},"author":{"name":"Ivan Akulov","@id":"https:\/\/iamakulov.com\/notes\/#\/schema\/person\/ebf7b61bf573e7be5fe438f50ebd9b81"},"headline":"How to load polyfills only when needed","datePublished":"2020-02-13T08:18:30+00:00","dateModified":"2020-04-14T08:22:58+00:00","mainEntityOfPage":{"@id":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/"},"wordCount":46,"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/","url":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/","name":"How to load polyfills only when needed - Ivan Akulov\u2019s blog","isPartOf":{"@id":"https:\/\/iamakulov.com\/notes\/#website"},"datePublished":"2020-02-13T08:18:30+00:00","dateModified":"2020-04-14T08:22:58+00:00","author":{"@id":"https:\/\/iamakulov.com\/notes\/#\/schema\/person\/ebf7b61bf573e7be5fe438f50ebd9b81"},"breadcrumb":{"@id":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/iamakulov.com\/notes\/how-to-load-polyfills-only-when-needed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/iamakulov.com\/notes\/"},{"@type":"ListItem","position":2,"name":"How to load polyfills only when needed"}]},{"@type":"WebSite","@id":"https:\/\/iamakulov.com\/notes\/#website","url":"https:\/\/iamakulov.com\/notes\/","name":"Ivan Akulov\u2019s blog","description":"Ivan Akulov writes about his front-end experience, React, webpack, and performance optimizations.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/iamakulov.com\/notes\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/iamakulov.com\/notes\/#\/schema\/person\/ebf7b61bf573e7be5fe438f50ebd9b81","name":"Ivan Akulov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/aec4e9e944911b58f2c3d14b7f9e5412a217e5738359c3f52e824b4de2b2263c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/aec4e9e944911b58f2c3d14b7f9e5412a217e5738359c3f52e824b4de2b2263c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aec4e9e944911b58f2c3d14b7f9e5412a217e5738359c3f52e824b4de2b2263c?s=96&d=mm&r=g","caption":"Ivan Akulov"},"description":"I'm a software engineer specializing in web performance, JavaScript, and React. I\u2019m also a Google Developer Expert. I work at Framer.","sameAs":["http:\/\/iamakulov.com","https:\/\/x.com\/iamakulov"]}]}},"jetpack_shortlink":"https:\/\/wp.me\/p8Hto2-n9","jetpack-related-posts":[{"id":1065,"url":"https:\/\/iamakulov.com\/notes\/walmart\/","url_meta":{"origin":1435,"position":0},"title":"Case study: analyzing the Walmart site performance","author":"Ivan Akulov","date":"April 27, 2018","format":false,"excerpt":"Walmart is one of the top USA e-commerce retailers. In 2016, they were the second after Amazon by sales. In e-commerce, the conversion is directly affected by how fast the site loads. For many e-commerce companies, making the site faster by 1 second increased the conversion 1.05, 1.1, or even\u2026","rel":"","context":"In \"performance\"","block_context":{"text":"performance","link":"https:\/\/iamakulov.com\/notes\/tag\/performance\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2018\/04\/ApplicationFrameHost_2018-03-30_21-12-46.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2018\/04\/ApplicationFrameHost_2018-03-30_21-12-46.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2018\/04\/ApplicationFrameHost_2018-03-30_21-12-46.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2018\/04\/ApplicationFrameHost_2018-03-30_21-12-46.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2018\/04\/ApplicationFrameHost_2018-03-30_21-12-46.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2018\/04\/ApplicationFrameHost_2018-03-30_21-12-46.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":1453,"url":"https:\/\/iamakulov.com\/notes\/lessons-from-self-employment\/","url_meta":{"origin":1435,"position":1},"title":"Lessons From Six Years of Self-Employment","author":"Ivan Akulov","date":"February 4, 2024","format":false,"excerpt":"From 2017 to 2023, I worked as a self-employed web performance consultant. I was lucky to do some cool stuff (work with Google and another company every American knows, help many hot startups, speak at worldwide conferences). In 2024, I turned that page and became an employee at Framer, to\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-21.35.38.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-21.35.38.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-21.35.38.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-21.35.38.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-21.35.38.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/iamakulov.com\/notes\/wp-content\/uploads\/2024\/01\/Screenshot-2024-01-21-at-21.35.38.png?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/posts\/1435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/comments?post=1435"}],"version-history":[{"count":1,"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/posts\/1435\/revisions"}],"predecessor-version":[{"id":1436,"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/posts\/1435\/revisions\/1436"}],"wp:attachment":[{"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/media?parent=1435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/categories?post=1435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iamakulov.com\/notes\/wp-json\/wp\/v2\/tags?post=1435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}