1.0.3 • Published 8 years ago

gulp-template-compile-es6 v1.0.3

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

gulp-template-compile

Compile Lo-Dash templates (should work with Underscore templates too).

Synopsis

This plugin is heavily inspired by Emanuele Ingrosso.

I've written another plugin which only exports templates' string and can also wrap them with a compilation function

Install

Install with npm

npm i --save-dev gulp-template-compile-es6

Example

gulpfile.js

var gulp     = require('gulp');
var template = require('gulp-template-compile-es6');
var concat   = require('gulp-concat');

gulp.task('default', function () {
	gulp.src('src/*.html')
		.pipe(template({
            templateSettings : {
                variable : 'data'
            }
        })) // pass any settings here
		.pipe(concat('templates.js'))
		.pipe(gulp.dest('dist'));
});

Above will output the file templates.js:

(for 2 simple html files a.html & b.html which contains the string "foo" & "bar")

export var a = function(data) {
    var __t, __p = '';
    __p += 'foo';
    return __p;
}

export var b = function(data) {
    var __t, __p = '';
    __p += 'bar';
    return __p;
}

API

See the Lo-Dash _.template docs.

template(options)

options

Type: Object

options.name

Type: Function Default: Relative template path. Example: templates/list.html

You can override the default behavior by supplying a function which gets the current File object and is expected to return the name.

Example:

{
    name: function (file) {
        return 'tpl-' + file.relative;
    }
}

options.namespace

Type: String Default: 'JST'

The namespace in which the precompiled templates will be assigned. Starting from version 1.0 you could also provide a dotted namespace that will be correctly handled, thanks to fhawkes. For example 'custom.namespace' will result in window['custom']['namespace'].

options.templateSettings

Type: Object Default: null

Lo-Dash _.template options.

License

MIT © Yair Even-Or