我想我所有的.jade模板編譯成一個單一的js文件,我使用Gulpjs和吞掉玉,大口喝,CONCAT ..編譯客戶端玉模板中使用Gulpjs
我能得到單個文件,但問題是在那裏呈現的所有函數都具有相同的名稱,它們都稱爲「模板」。
foo.jade:
.fooDiv
h1 Foo here
foo2.jade:
.foo2Div
h1 Foo2 here
咕嘟咕嘟文件:
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("");
}
任何方式我可以這樣做:
而我想是一樣的東西?我一直在尋找相當一段時間,但沒有找到任何東西。
乾杯。 財長
編輯:
玉現在接受jade.compileClient名稱選項。檢查它在這裏:https://github.com/jadejs/jade/blob/master/jade.js
將編輯添加爲答案並提及如何/如果您動態更改'name'值,將會非常有用。 –
@SebastianThomas我發現[這個評論](https://github.com/mariusGundersen/gulp-forEach/issues/6#issuecomment-82454274)很有幫助。我已經發布了這個解決方案作爲答案。 – coderfin