A gulp plugin to compile underscore / lodash views to a single JST file.
Install using npm.
$ npm install gulp-jst-concat
var jade = require('gulp-jade')
, jstConcat = require('gulp-jst-concat')
gulp.task('JST', function () {
gulp.src('client/app/views/**/*jade')
.pipe(jade())
.pipe(jstConcat('jst.js', {
renameKeys: ['^.*views/(.*).html$', '$1']
}))
.pipe(gulp.dest('public/assets'))
})
This compiles all of your client-side views into a single file jst.js
,
defining this.JST = { /* template fns */ }
.
Let's say we have views located at
client/app/views/foo.jade
andclient/app/views/bar/baz.jade
.
Given the example's option renameKeys: ['^.*views/(.*).html$', '$1']
those views
will now be accessible as compiled lodash template functions via
JST['foo']
andJST['bar/baz']
.
(Please note that gulp-jst-concat
doesn't have to be used in conjunction with gulp-jade
. Any input-stream emitting html-ish file contents will do.)
Type [String, String]
Control your JST
keys by RegExp-replacing the input file's path
property.
This will default to ['.*', '$&']
(i.e. a template's key will just be it's input file's path
).
MIT