11

我正在开发需求软件平台。我在源代码(HTML)中有太多空格。我不知道如何优化它,请帮助我。

提前致谢

4

6 回答 6

12

我们对最终结果的控制有限,但是有iscontent标签,它有一个compact属性。

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

请注意,此标签不会过滤到包含的模板。每个包含的模板都需要自己的iscontent标签来压缩空格。Demandware 声明 compact 可能会破坏标签的布局<pre>,因此请谨慎使用。

于 2012-12-05T21:32:34.077 回答
4

取决于您所说的“优化”是什么意思。如果您只是想减少下载大小,那么最好在 Web 服务器上启用 Gzip 压缩,因为它会将空格所需的数据压缩到几乎为零,并且还会压缩其余的标记。如果您有其他原因,请详细说明。例如,如果您希望源代码“干净”以用于调试/开发目的,那么您可以在客户端使用源代码清理器(即,Firefox 插件或 HTMLTidy 接口)来实现相同的结果。

于 2012-12-10T05:14:07.630 回答
2

源代码中的本地包含似乎存在问题,留下多个空白行。Modules.isml 可能特别令人反感。将 compact 设置为 'true' 无济于事。

我最近将@sholsinger 的答案与使用 grunt 而不是 gulp 的 Demandware/SFCC Build Suite 结合起来来解决这个问题。

基本看起来像这样:

将 grunt-contrib-htmlmin 添加到 task_loader.js 和 package.json 并运行 npm install。

在 grunt/config 中添加了 htmlmin.js。

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'

于 2020-11-06T17:26:06.233 回答
0

如果您使用 Demandware 的 Build Suite,您可以让它在构建过程中连接空格。

您可以在此处找到有关构建套件的信息:https ://bitbucket.org/demandware/build-suite (私人仓库)

于 2014-06-09T18:06:31.743 回答
0

Moku已成功使用html-minifier包压缩模板文件以删除sheplers.com上的空白。我们将它添加到基于 Site Genesis 构建脚本的 gulp 进程中。(大约在 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('./'));
    });
});

package.json路径指令isml如下所示。请注意,您可以将任何生成过多空格的 ISML 文件添加到此列表中,但我们发现大多数有问题的空格仅由该文件生成。

"isml" : [
  "app_storefront_core/cartridge/templates/default/util/modules.isml"
]
于 2017-03-31T17:32:48.600 回答
-1

我假设您正在使用他们的Demandware Commerce或他们的另一项服务。由于他们为其电子商务网站提供了所有后端代码,因此您不可能淡化他们的“空白”。如果您在他们自己的主页上查看源代码,您还会看到大量额外的“空白”。这只是他们的内容管理系统的产品。

您只是担心页面的额外开销(文件大小)还是有其他顾虑?

于 2012-12-03T15:52:42.557 回答