1

编译这样的模板dustc

$ cat <<EOF | ./node_modules/.bin/dustc -
<p>Hi there!</p>
<p>I'm a {! dust !} template.</p>
EOF

输出:

(function(){dust.register("-",body_0);function body_0(chk,ctx){return chk.write("<p>Hi there!</p><p>I'm a  template.</p>");}return body_0;})();

没有\n行间,例如:"<p>Hi there!</p>\n<p>I'm a template.</p>"

有什么办法可以改变这个吗?谢谢

4

2 回答 2

3

您可以使用{~n}在 Dust 模板中创建换行符。它在<pre>标签中特别有用。

于 2013-07-16T13:09:12.487 回答
1

您可以使用禁用空格压缩

dust.optimizers.format = function(ctx, node) { return node };

使用gulp-dust进行预编译,有一个preserveWhitespace选项可以做到这一点:

var compile=require('gulp-dust');

// ...
gulp.src('templates/**/*.dust')
    .pipe(compile({ preserveWhitespace: true }))
    // ...
于 2014-05-19T01:18:22.667 回答