Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

Здесь вы можете найти информацию о Build Suite: https://bitbucket.org/demandware/build-suite (private repo)

Ответ 4

Moku успешно использовал html-minifier для сжатия файлов шаблонов для удаления пробела на sheplers.com. Мы добавили его в процесс gulp, основанный на сценариях сборки сайта Genesis. (около конца 2015 года). Поскольку мы используем gulp, мы использовали пакет оболочки gulp gulp-htmlmin. Задача gulp выглядит так:

gulp.task('isml', function() {
    var htmlminOptions = {
    collapseWhitespace: true,
    includeAutoGeneratedTags: false
    };

    paths.isml.forEach(function(p) {
        gulp.src(path.join(rootPath, p), { base: './' })
            .pipe(htmlmin(htmlminOptions))
            .pipe(gulp.dest('./'));
    });
});

Директива path package.json для isml выглядит следующим образом. Обратите внимание, что вы можете добавить любые файлы ISML, которые генерируют избыточный пробел в этом списке, но мы обнаружили, что большинство пропущенных пробелов было создано только одним файлом.

"isml" : [
  "app_storefront_core/cartridge/templates/default/util/modules.isml"
]

Ответ 5

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

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