Как исключить интерком-скрипты из предреагирования с мгновенной привязкой

Я хочу исключить межкомпонентные скрипты (JS и CSS, я думаю, но это 400КБ станифицированного кода) из сборки prerender с быстрым реагированием.

Все остальные скрипты уже исключены, но Интерком не может и нарушает мой предварительный просмотр и SEO и делает предварительно обработанные скрипты намного больше, чем нужно.

Я установил параметр исключения в package.json с помощью:
"ReactionSnap": { "destination": "build/pre-rendered", "removeScriptTags": true }, и это исключает все остальные сценарии.

Интерком загружен либо в index.html:

window.intercomSettings = {app_id: 'APP_ID'};

(function () {var w = window; var ic = w.Intercom; if (typeof ic === "function") {ic ('reattach_activator'); ic ('update', w.intercomSettings);} else { var d = document; var i = function () {ic(arguments);};iq=[];ic=function(args){iqpush (args);}; w.Intercom = i; var l = function () {var s = d.createElement ('script'); s.type = 'text / javascript'; s.async = true; s.src = ' https://widget.intercom.io/widget/' + 'APP_ID '; var x = d.getElementsByTagName (' script ') [0]; x.parentNode.insertBefore (s, x);}; if (w.attachEvent) {w.attachEvent (' onload ', l);} else {w.addEventListener ('нагрузки', л, ложь);}}})();

или компонент домофона в подкомпоненте через: > Интерком appID= 'APP_ID'/>

Любая помощь будет высоко ценится - спасибо

2 ответа

@adevine это также работает, если вы хотите избежать рендеринга определенных элементов, спасибо!

      
const Component = () => {
    const isSnap = navigator.userAgent === 'ReactSnap'

    return (
      <div className="main">
        <>
          { !isSnap && <ComponentToKeepDynamic /> }
        </>
      </div>
    );
  };

export default Component;

У меня была такая же проблема. Вы можете обнаружить предварительный рендеринг, посмотрев на пользовательский агент:

function isPreRendering() {
    return navigator.userAgent === 'ReactSnap';
};

Затем просто поместите весь свой сценарий выше в if (!isPreRendering) блок.

Другие вопросы по тегам