Compile underscore/lodash view templates to a single JST file
npm install gulp-jst-concat$ npm install gulp-jst-concat
javascript
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 and
- client/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'] and
- JST['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.)
Options
renameKeys
----------
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`).