使用换行符编译灰尘模板

时间:2013-07-16 06:19:21

标签: dust.js dustc

使用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>"

有没有办法改变这个? 谢谢

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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 }))
    // ...