Webpack удалить фрагмент кода после сборки, как его сохранить? - PullRequest
0 голосов
/ 30 июня 2019

Я определил код фрагмента и покажу его в Интернете, чтобы пользователи могли копировать его для использования, но после сборки приложения с режимом производства Webpack фрагмент исчез.

Я думаю, что веб-пакет обрабатывает его как неиспользуемый код, поэтому он будет удаленпри сборке.

Код фрагмента:

let html = `
      <script>
        (function(w, d, t, s, n) {
          ...
          const fn = function() {
            (w[n].q = w[n].q || []).push(arguments);
          };
          w[n] = w[n] || fn;
          const f = d.getElementsByTagName(t)[0];
          const e = d.createElement(t);
          const h = '?v' + new Date().getTime();
          e.async = true;
          e.src = s + h;
          f.parentNode.insertBefore(e, f);
        })(window, document, 'script', '${process.env.UNIVERSAL_SCRIPT}', 'fd');
        window.fd('form', { userId: '${form.userId}', formId: '${form.id}' });
      </script>
    `;
    html = jsBeautify.html(html, { indent_size: 2 });

Визуализация в реагирующем компоненте:

<SyntaxHighlighter language="xml" style={monokai} id="html">
  {html}
</SyntaxHighlighter>

Вот демонстрационный репозиторий: https://github.com/minhtranite/webpack-remove-snippet. Пожалуйста, запустите start и start:prod, чтобы увидеть результат разницы.

1 Ответ

0 голосов
/ 30 июня 2019

Похоже, вы не определили переменную form, в результате чего сборка не удалась. Или language = "html" заставляет его анализироваться как html. language = "text" отобразит его как текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...