Рендерю все страницы для юзеров на сервере, так вот мне нужно минифицировать все 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, а некоторые присутствуют и это всё нужно как можно сильнее минифицировать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Подскажите, как можно добавить на музыкальный сайт прослушивание музыки таким образом, что бы при нажатии на песню открывалась либо новая...