как удалить пробелы в исходном коде HTML в Demandware?

Я работаю над платформой спроса. Я получаю слишком много пробелов в исходном коде (HTML). Я понятия не имею, как я могу его оптимизировать, пожалуйста, помогите мне.

заранее спасибо


person webCoder    schedule 28.11.2012    source источник
comment
Можете ли вы поделиться своим предварительным просмотром экрана или URL-адресом   -  person Tarun    schedule 10.12.2012


Ответы (6)


У нас есть ограниченный контроль над конечным результатом, однако есть тег iscontent с атрибутом compact.

<iscontent type="text/html" compact="true" />

Обратите внимание, что этот тег не фильтрует включенные шаблоны. Для каждого включенного шаблона требуется собственный тег iscontent для сжатия пробелов. Demandware заявляет, что компактность может нарушить расположение тегов, таких как <pre>, поэтому будьте осторожны.

person Ed Gonzalez    schedule 05.12.2012
comment
Я не думаю, что он сильно сжимает, и я уверен, что он не объединяет строки, оставляя символы \n в коде нетронутыми. - person Ed Gonzalez; 06.12.2012
comment
он не удаляет пробелы, а просто объединяет строки с помощью отступа, заданного в коде. - person webCoder; 09.12.2012
comment
Обратите внимание, что поскольку эти параметры являются значениями по умолчанию, вы даже можете использовать ‹iscontent/› для достижения тех же результатов. Выглядит немного странно для ISML-кода, но работает. Также на данный момент нет возможности удалить пустые строки. Это не большая проблема, связанная с передачей данных, так как в производственных экземплярах связь заархивирована. - person Zlatin Zlatev; 27.09.2013
comment
@EdGonzalez, не могли бы вы сообщить мне, предоставляет ли requireware какой-то образец кода для просмотра функций и внешнего вида? или любой демо-логин, который помогает - person Slimshadddyyy; 30.10.2015

Зависит от того, что вы подразумеваете под «оптимизировать». Если вы просто хотите уменьшить размер загружаемого файла, предпочтительнее включить сжатие Gzip на веб-сервере, так как оно сворачивает данные, необходимые для пробелов, почти до нуля и, кроме того, сжимает остальную часть вашей разметки. Если вы имели в виду другую причину, пожалуйста, уточните. Если, например, вы хотите, чтобы исходный код был «чистым» для целей отладки/разработки, вы можете добиться того же результата, используя средство очистки исходного кода на стороне клиента (т. е. подключаемый модуль Firefox или интерфейс к HTMLTidy).

person SpliFF    schedule 10.12.2012

Кажется, есть проблемы с локальными включениями в исходный код, оставляющие несколько пустых строк. Modules.isml может быть особенно оскорбительным. Установка compact на «true» не помогает.

Недавно я объединил ответ @sholsinger с Demandware/SFCC Build Suite, который использует grunt, а не gulp, чтобы решить эту проблему.

Основы выглядят примерно так:

Добавил grunt-contrib-htmlmin в task_loader.js и package.json и запустил установку npm.

Добавлен htmlmin.js в grunt/config.

module.exports = {
minify: {
    options: {
        removeComments: true,
        collapseWhitespace: true
    },
    files: {
        '<%= dw_properties.folders.code %>app_core/cartridge/templates/default/util/modules.isml': '<%= dw_properties.folders.code %>app_core/cartridge/templates/default/util/modules.isml',  
    }
}
}

Затем добавил его в alises.yaml: 'htmlmin:minify'

person Kevin Truin    schedule 06.11.2020
comment
Тем не менее, вам также следует попробовать параметры автоматического уменьшения в Business Manager в разделе «Сайты» > «Настройки встроенной CDN» > «Зоны». Они находятся на вкладке «Скорость». - person Kevin Truin; 06.01.2021

Если вы используете пакет Build Suite от Demandware, он может объединять пробелы в процессе сборки.

Вы можете найти информацию о Build Suite здесь: https://bitbucket.org/demandware/build-suite (частное репо)

person Michael GIllman    schedule 09.06.2014
comment
Пакет сборки предлагает только возможность минимизировать js/css и объединить JS или CSS в комбинированный файл. Я не могу найти варианты минимизации/сжатия/сжатия пробелов в HTML. - person Jon L.; 29.04.2015


Я предполагаю, что вы используете их Demandware Commerce или другой своих Услуг. Поскольку они предоставляют весь внутренний код для своих сайтов электронной коммерции, крайне маловероятно, что вы сможете смягчить их «пробелы». Если вы просмотрите исходный код на их собственной домашней странице, вы также увидите массу дополнительных «пробелов». Это просто продукт их системы управления контентом.

Вы просто беспокоитесь о дополнительных накладных расходах (размер файла) страниц или у вас есть другие проблемы?

person davehale23    schedule 03.12.2012
comment
Их основной сайт использует свою платформу, и, как упомянул @Ed Gonzalez, возможность «сжимать» пустое пространство означает только пробелы и вкладки, а не дополнительные разрывы строк. - person sholsinger; 27.06.2013