Node.JS минификаторы

111
09 ноября 2019, 13:10

Рендерю все страницы для юзеров на сервере, так вот мне нужно минифицировать все html, css, и js. Но есть проблема, некоторые html содержат в себе так-же css и js. То-есть тот-же js для компонента может не идти отдельным файлом, а лежать в теле html.

Я пробовал html-minifer, однако он минифицирует всё, кроме js. Притом даже, если я в настройках укажу { minifyJS: true } Вот пример того, как я использовал minify:

const minify   = require('html-minifier').minify;
const template = `
  <html>
    <head>
      <title>Some Title</title>
    </head>
    <body>
      <h1>Hello World!</h1>
      <style>
        body {
          background: black;
        }
      </style>
      <script>
        onload = () => {
          alert('Hello World!')
        }
      </script>
    </body>
  </html>
`;
const response = minify(template, {
  removeAttributeQuotes: true,
  collapseWhitespace: true,
  conservativeCollapse: false,
  decodeEntities: true,
  keepClosingSlash: false,
  preserveLineBreaks: false,
  preventAttributesEscapin: true,
  processConditionalComments: true,
  removeAttributeQuotes: true,
  removeComments: true,
  trimCustomFragments: true,
  useShortDoctype: true,
  minifyCSS: true,
  minifyJS: true
});
console.log(response);

И вот что я получил в консоле:

Так-же я пробовал UglifyJS! Но получил следующие сообщение ошибки:

unexpected token: operator (<)

Насколько я понимаю - этот конфликт возникает на почве того, что я пытаюсь минифицировать js внутри html, а не отдельно лежащий js.

Так вот вопрос, какой модуль поможет мне минифицировать весь html включая css и js. При этом многие css, js не находятся в теле html, а некоторые присутствуют и это всё нужно как можно сильнее минифицировать.

READ ALSO
Почему не работает метод в JavaScript? [дубликат]

Почему не работает метод в JavaScript? [дубликат]

На данный вопрос уже ответили:

133
Front End, Back End, Website. Прослушивание музыки на сайте

Front End, Back End, Website. Прослушивание музыки на сайте

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

162