1.0.7 • Published 8 years ago

gulp-dotjs-compiler v1.0.7

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

gulp-dotjs-compiler

npm npm

Guide

This compiler is mainly based on vohof's gulp-dot, with a little modification.

There are something changed:

  • supports precompiling into javascript: we can compiler doT templates into javascript
  • supports other file extensions: we can use a different file extension, such as dot jst, etc.

DEMO

demo

INSTALL

$ npm install gulp-dotjs-compiler 

HOW TO USE

/**
 * deal with js
 */
 var uglify = require('gulp-uglify'),
     concat = require('gulp-concat');

/**
 * add header and footer
 */
var header = require('gulp-header'),
    footer = require('gulp-footer');

var dotCompile = require('gulp-dotjs-compiler');

gulp.task('dot', function () {
    var wrapper = moduleWrap('dotTempl');

    gulp.src(['./src/templates/**/*.html', '!./src/templates/layout.html'])
        .pipe(dotCompile({
        	// if we transfered ```it```
        	// then will compile files into html string
        	// (如果传了it 则认为是编译为 html)
            // it: {data: [2, 4, 5,6]},
			
			// def snippet
			// (传过去的 snippet)
            def: {xxx: 2222},

            // file extension (文件扩展名)
            // ext: 'html',
	
			// exposed name
            dict: 'dotTempl',
			
			// layout
            layout: './src/templates/layout.html'
        }))
        .pipe(concat('dotTempl.js'))
        .pipe(header(wrapper[0] + 'var dotTempl = {};'))
        .pipe(footer('module.exports = dotTempl;' + wrapper[1]))
        .pipe(uglify())
        .pipe(gulp.dest('./build/'));
});

function moduleWrap(modName) {
    var begin = '' +
                '!(function(global, factory) {'+
                    'if (typeof define === \'function\' && (define.cmd || define.amd)) {'+
                        'define(factory);'+
                    '} else if (typeof exports !== \'undefined\' && typeof module !== \'undefined\'){'+
                        'factory(require, exports, module);'+
                    '} else {'+
                        'var mod = {'+
                                'exports: {}'+
                            '},'+
                            'require = function(name) {'+
                                'return global[name];'+
                            '};'+
                        'factory(require, mod.exports, mod);'+
                        'global.' + modName + '= mod.exports;'+
                    '}'+
                '})(this, function(require, exports, module) {',

        end =   '});'

    return [begin, end];
}

LINKS

https://github.com/vohof/gulp-dot

https://github.com/outten45/gulp-dot

https://github.com/kentliau/gulp-dot-precompiler

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago