我试图将所有的.jade模板编译成一个单独的js文件,使用的是Gulpjs和gulp-jade、gulp-concat。
我可以得到单个文件,但问题在于所有函数都具有相同的名称,它们都被称为"template"。
foo.jade:
.fooDiv
h1 Foo here
foo2.jade:
.foo2Div
h1 Foo2 here
Gulp文件:
gulp.src("templates/**/*.jade")
.pipe(jade({client: true}))
.pipe(concat("templates.js"))
.pipe(gulp.dest("../website/templates"))
那将会输出这样的一个文件:
function template(locals) {
var buf = [];
var jade_mixins = {};
buf.push("<div class=\"fooDiv\"><h1>Foo here</h1></div>");;return buf.join("");
}
function template(locals) {
var buf = [];
var jade_mixins = {};
buf.push("<div class=\"foo2Div\"><h1>Foo2 here</h1></div>");;return buf.join("");
}
我希望的是类似这样的功能:
function foo(locals) {
var buf = [];
var jade_mixins = {};
buf.push("<div class=\"fooDiv\"><h1>Foo here</h1></div>");;return buf.join("");
}
function foo2(locals) {
var buf = [];
var jade_mixins = {};
buf.push("<div class=\"foo2Div\"><h1>Foo2 here</h1></div>");;return buf.join("");
}
有没有办法可以做到这一点?我已经搜索了相当长的时间,但没有找到任何东西。
干杯。 Caio
编辑:
Jade现在接受jade.compileClient的name选项。 在此处查看:https://github.com/jadejs/jade/blob/master/jade.js
name
值可能会很有用。 - Sebastian Thomas