Оптимизация сторонних скриптов

Многие приложения используют сторонний JavaScript для включения различных функций, таких как аналитика, реклама и виджеты поддержки клиентов. Однако встраивание кода от сторонних разработчиков может задержать отображение содержимого страницы и негативно повлиять на производительность, если загрузка происходит слишком рано.

Next.js предоставляет встроенный компонент Script, который оптимизирует загрузку любых сторонних скриптов, позволяя разработчикам самостоятельно решать, когда их загружать и выполнять.

Использование компонента Script

При использовании обычного HTML внешние скрипты нужно вручную добавлять в next/head:

import Head from 'next/head';
 
function IndexPage() {
  return (
    <div>
      <Head>
        <script src="https://www.googletagmanager.com/gtag/js?id=123" />
      </Head>
    </div>
  );
}

С компонентом Script в Next.js вы можете добавить его в любое место компонента без необходимости использовать next/head:

import Script from 'next/script';
 
function IndexPage() {
  return (
    <div>
      <Script
        strategy="afterInteractive"
        src="https://www.googletagmanager.com/gtag/js?id=123"
      />
    </div>
  );
}

Компонент Script предоставляет свойство strategy, которое позволяет определить оптимальное время для загрузки и выполнения скрипта. Чтобы не влиять негативно на показатель Largest Contentful Paint (LCP), большинство сторонних скриптов следует загружать после полной загрузки содержимого страницы — либо сразу после того, как страница становится интерактивной (strategy="afterInteractive"), либо в период простоя браузера (strategy="lazyOnload").

Дополнительные материалы