gulp-micro-tpl-compiler
Version:
gulp plugin develop for mtpl compiler
91 lines (65 loc) • 1.97 kB
Markdown
> gulp micro template编译器,将micro template提前预编译为function,提升模板性能。编译后的模板可通过配置支持seajs,requirejs,kissy,nodejs模块化,也可以完全自定义配置项wrap配置编译后代码的前后包裹。
## 特性
> * micro template直接使用js语法,近乎零学习成本
> * 通过编译micro template提升模板运行性能
> * 支持模板间互相调用
> * 因为使用js语法,支持同时运行在client(浏览器)端和server(nodejs)端
> * 支持模板编译报错提示错误信息,源模板行号
> * 支持模板运行错误时提示错误信息,源模板行号
## 使用
### 安装
```shell
npm install gulp-micro-tpl-compiler --save-dev
```
### gulpfile.js
```
require('gulp-micro-tpl-compiler');
```
### 样例
```js
gulp.task('compiler', function() {
gulp.src('./src/**/*.mtpl.html')
.pipe(plumber())
.pipe(mtpl(
{
wrap: 'kissy'
}
))
.pipe(rename(function(path) {
console.log(path.basename);
path.extname = '.js';
}))
.pipe(gulp.dest('./build'))
});
```
## 参数说明
#### banner
类型: `String`
默认: `''`
文件头。
#### lineNumber
类型: `Boolean`
默认: `false`
运行错误时是否提示行号,默认不提示。
#### wrap
类型: `String|Object|function`
可选: `'nodejs'`, `'requirejs'`, `'seajs'`, `'kissy'`, `wormhole`, `'default'`, `{before: '', after: ''}` or
```js
function(code) {
//do something
return code;
}
```
Default: `default`
```js
/**
* options.wrap {Object}
*/
wrap {
before: 'KISSY.add(function (S, require, exports, module) {\n module.exports = ',
after: '});'
}
```
对代码进行封装,可以使用现有模板 'requirejs', 'nodejs', 'kissy'等等
## 鸣谢
`grunt-micro-tpl-compiler`项目。