Render/precompile Lodash/Underscore templates
Issues with the output should be reported on the Lodash issue tracker.
npm install --save-dev gulp-template
<h1>Hello <%= name %></h1>
import gulp from 'gulp';
import template from 'gulp-template';
export default () => (
gulp.src('src/greeting.html')
.pipe(template({name: 'Sindre'}))
.pipe(gulp.dest('dist'))
);
You can alternatively use gulp-data to inject the data:
import gulp from 'gulp';
import template from 'gulp-template';
import data from 'gulp-data';
export default () => (
gulp.src('src/greeting.html')
.pipe(data(() => ({name: 'Sindre'})))
.pipe(template())
.pipe(gulp.dest('dist'))
);
<h1>Hello Sindre</h1>
Render a template using the provided data
.
Precompile a template for rendering dynamically at a later time.
Type: object
Data object used to populate the text.
Type: object
You can also provide your own interpolation string for custom templates.
<h1>Hello {{ name }}</h1>
import gulp from 'gulp';
import template from 'gulp-template';
import data from 'gulp-data';
export default () => (
gulp.src('src/greeting.html')
.pipe(data(() => ({name: 'Sindre'})))
.pipe(template(null, {
interpolate: /{{(.+?)}}/gs
}))
.pipe(gulp.dest('dist'))
);
<h1>Hello Sindre</h1>