gulp-template
Version:
Render/precompile Lodash/Underscore templates
109 lines (73 loc) • 1.87 kB
Markdown
> Render/precompile [Lodash/Underscore templates](https://lodash.com/docs#template)
*Issues with the output should be reported on the Lodash [issue tracker](https://github.com/lodash/lodash/issues).*
```sh
npm install --save-dev gulp-template
```
```erb
<h1>Hello <%= name %></h1>
```
```js
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](https://github.com/colynb/gulp-data) to inject the data:
```js
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'))
);
```
```html
<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`
[](https://lodash.com/docs#template).
You can also provide your own [interpolation string](https://lodash.com/docs#template) for custom templates.
```html
<h1>Hello {{ name }}</h1>
```
```js
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'))
);
```
```html
<h1>Hello Sindre</h1>
```