{"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"},{"name":"ecomfe","email":"ecomfe@gmail.com"}],"dist-tags":{"latest":"3.2.0"},"description":"ETPL是一个强复用、灵活、高性能的JavaScript模板引擎，适用于浏览器端或Node环境中视图的生成。","readme":"# ETPL (Enterprise Template)\n\n[![Build Status](https://travis-ci.org/ecomfe/etpl.svg?branch=master)](https://travis-ci.org/ecomfe/etpl)\n\nETPL是一个强复用、灵活、高性能的JavaScript模板引擎，适用于浏览器端或Node环境中视图的生成。\n\n\n## Download\n\n除了通过github clone外，你可以通过`右键另存`的方式获得ETpl:\n\n- [压缩代码 (Compressed)](http://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.js)\n- [源码 (Source)](http://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.source.js)\n\n也可以通过CDN引用:\n\n```html\n<script src=\"http://s1.bdstatic.com/r/www/cache/ecom/etpl/3-2-0/etpl.js\"></script>\n```\n\n## Start\n\nETpl可以在`CommonJS/AMD`的模块定义环境中使用，也能直接在页面下通过`script`标签引用。\n\n\n### 浏览器环境\n\n直接通过script标签引用，你可以获得一个全局的`etpl`变量\n\n```html\n<script src=\"etpl.js\"></script>\n```\n\n在AMD环境的模块定义时，你可以通过`同步require`获得ETpl模块\n\n```javascript\ndefine(function (require) {\n    var etpl = require('etpl');\n});\n```\n\n在AMD环境，你也可以通过`异步require`获得ETpl模块\n\n```javascript\nrequire([ 'etpl' ], function (etpl) {\n});\n```\n\n*在AMD环境下，请确保你的require.config配置能够让Loader找到ETpl模块*\n\n### Node.JS环境\n\n你可以通过`npm`来安装ETpl\n\n```\n$ npm install etpl\n```\n\n安装完成后，你就可以通过`require`获得一个ETpl模块，正常地使用它\n\n```javascript\nvar etpl = require('etpl');\n```\n\n### 使用\n\n使用ETPL模块，对模板源代码进行编译，会能得到编译后的function\n\n```javascript\nvar render = etpl.compile('Hello ${name}!');\n```\n\n执行这个function，传入数据对象，就能得到模板执行的结果了\n\n```javascript\nvar text = render({ name: 'etpl' });\n```\n\n查看更多例子，或者对模板渲染结果有疑虑，就去ETPL的[example](http://ecomfe.github.io/etpl/example.html)看看吧。\n\n\n## Documents\n\n通过文档，你可以更详细地了解ETpl的语法格式、使用方法、API等内容。\n\n- [模板语法](doc/syntax.md)\n- [API](doc/api.md)\n- [配置参数](doc/config.md)\n\n\n\n## Related\n\n* Sublime Text 语法高亮插件：[sublime-etpl](https://github.com/ecomfe/sublime-etpl)\n* vim 语法高亮插件：[vim-etpl](https://github.com/hushicai/vim-etpl)\n* Atom 语法高亮插件：[atom-etpl](https://github.com/ecomfe/atom-etpl)\n\n\n\n## Compatibility\n\n### ETpl3的新语法\n\n我们认为，当前流行的通过`block`来表达模板继承中的变化，是更好的表达方式。所以在ETpl3中，我们优化了母版的语法，删除了`master`、`contentplacehoder`、`content`标签，引入了`block`标签。\n\n对于ETpl2的使用者，我们提供一个[etpl2to3](https://github.com/ecomfe/etpl2to3)工具，能够帮助你平滑地将ETpl2的模板翻译成ETpl3。\n\n\n### get\n\nETpl2中，为了前向兼容，Engine的`get`方法可以根据target名称获取模板内容。\n\nETpl3不再支持该方法，所有的模板都通过render来使用：\n\n- 直接使用engine实例的render方法 \n- 调用renderer function\n\n如果仍需要该功能，说明你正在维护一个遗留系统，并且没有很频繁的升级需求。请继续使用ETpl2。\n\n\n### merge\n\nETpl的前身是[ER框架](https://github.com/ecomfe/er)自带的简易模板引擎，其基本与前身保持兼容。但出于代码体积和使用频度的考虑，ETpl删除了`merge`API。如果想要该API，请在自己的应用中加入如下代码：\n\n```javascript\n/**\n * 执行模板渲染，并将渲染后的字符串作为innerHTML填充到HTML元素中。\n * 兼容老版本的模板引擎api\n * \n * @param {HTMLElement} element 渲染字符串填充的HTML元素\n * @param {string} name target名称\n * @param {Object=} data 模板数据\n */\netpl.merge = function ( element, name, data ) {\n    if ( element ) {\n        element.innerHTML = this.render( name, data );\n    }\n};\n```\n\n","repository":{"type":"git","url":"git://github.com/ecomfe/etpl.git"},"users":{"xueboren":true},"bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"versions":{"2.0.8-rc":{"name":"etpl","version":"2.0.8-rc","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"}],"main":"main","homepage":"http://ecomfe.github.io/etpl/","repository":{"type":"git","url":"git://github.com/ecomfe/etpl"},"description":"ETPL是一个灵活、具有强大复用能力的高性能的模板引擎，适用于WEB前端应用中视图的生成，特别是SPA(Single Page APP)类型的应用。","bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"_id":"etpl@2.0.8-rc","dist":{"shasum":"a979d60a1d2a8faaa9233a22e1f7fd6b4c3245cb","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/etpl/-/etpl-2.0.8-rc.tgz"},"_from":".","_npmVersion":"1.3.23","_npmUser":{"name":"errorrik","email":"errorrik@gmail.com"},"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"}],"directories":{}},"2.0.10-rc":{"name":"etpl","version":"2.0.10-rc","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"}],"main":"main","homepage":"http://ecomfe.github.io/etpl/","repository":{"type":"git","url":"git://github.com/ecomfe/etpl"},"description":"ETPL是一个灵活、具有强大复用能力的高性能的模板引擎，适用于WEB前端应用中视图的生成，特别是SPA(Single Page APP)类型的应用。","bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"_id":"etpl@2.0.10-rc","dist":{"shasum":"7314aaeebd47c72ad887c712e320490326b3af5c","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/etpl/-/etpl-2.0.10-rc.tgz"},"_from":".","_npmVersion":"1.3.23","_npmUser":{"name":"errorrik","email":"errorrik@gmail.com"},"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"}],"directories":{}},"2.1.0-rc":{"name":"etpl","version":"2.1.0-rc","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"},{"name":"firede","email":"firede@firede.us"}],"main":"main","homepage":"http://ecomfe.github.io/etpl/","repository":{"type":"git","url":"git://github.com/ecomfe/etpl"},"description":"ETPL是一个灵活、具有强大复用能力的高性能Javascript模板引擎，适用于WEB前端应用中视图的生成，特别是SPA(Single Page APP)类型的应用。","scripts":{"test":"jasmine-node test/spec"},"devDependencies":{"jasmine-node":"~1.14.2"},"bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"_id":"etpl@2.1.0-rc","dist":{"shasum":"95b295021cb32321620ede3fcecc2255208d03e2","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/etpl/-/etpl-2.1.0-rc.tgz"},"_from":".","_npmVersion":"1.3.23","_npmUser":{"name":"errorrik","email":"errorrik@gmail.com"},"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"}],"directories":{}},"3.0.0":{"name":"etpl","version":"3.0.0","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"},{"name":"firede","email":"firede@firede.us"}],"main":"main","homepage":"http://ecomfe.github.io/etpl/","repository":{"type":"git","url":"git://github.com/ecomfe/etpl"},"description":"ETPL是一个强复用、灵活、高性能的JavaScript模板引擎，适用于浏览器端或Node环境中视图的生成。","scripts":{"test":"jasmine-node test/spec"},"devDependencies":{"jasmine-node":"1.14.2"},"gitHead":"a1521285720ae0f3c3bcdc5e9c6f295d15654a30","bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"_id":"etpl@3.0.0","_shasum":"2925004bef918cfe1bada8755ccbf8957142b5c9","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"ecomfe","email":"ecomfe@gmail.com"},"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"},{"name":"ecomfe","email":"ecomfe@gmail.com"}],"dist":{"shasum":"2925004bef918cfe1bada8755ccbf8957142b5c9","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/etpl/-/etpl-3.0.0.tgz"},"directories":{}},"3.0.1":{"name":"etpl","version":"3.0.1","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"},{"name":"firede","email":"firede@firede.us"}],"main":"main","homepage":"http://ecomfe.github.io/etpl/","repository":{"type":"git","url":"git://github.com/ecomfe/etpl"},"description":"ETPL是一个强复用、灵活、高性能的JavaScript模板引擎，适用于浏览器端或Node环境中视图的生成。","scripts":{"test":"jasmine-node test/spec"},"devDependencies":{"jasmine-node":"1.14.2"},"gitHead":"1cfbc766bd4ade02a21028cc35df84e569809bdb","bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"_id":"etpl@3.0.1","_shasum":"727e7a14fb6e8a8c4c1302bf6d6f92cde75cfbce","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"ecomfe","email":"ecomfe@gmail.com"},"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"},{"name":"ecomfe","email":"ecomfe@gmail.com"}],"dist":{"shasum":"727e7a14fb6e8a8c4c1302bf6d6f92cde75cfbce","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/etpl/-/etpl-3.0.1.tgz"},"directories":{}},"3.2.0":{"name":"etpl","version":"3.2.0","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"},{"name":"firede","email":"firede@firede.us"}],"main":"main","homepage":"http://ecomfe.github.io/etpl/","repository":{"type":"git","url":"git://github.com/ecomfe/etpl.git"},"description":"ETPL是一个强复用、灵活、高性能的JavaScript模板引擎，适用于浏览器端或Node环境中视图的生成。","scripts":{"test":"jasmine-node test/spec"},"devDependencies":{"jasmine-node":"1.14.2"},"gitHead":"3dcd6faf5a4265fd21fda01a6d72672ce90297bd","bugs":{"url":"https://github.com/ecomfe/etpl/issues"},"_id":"etpl@3.2.0","_shasum":"eb20847d08eab02cdb03a780cf76b7575933161b","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"ecomfe","email":"ecomfe@gmail.com"},"maintainers":[{"name":"errorrik","email":"errorrik@gmail.com"},{"name":"ecomfe","email":"ecomfe@gmail.com"}],"dist":{"shasum":"eb20847d08eab02cdb03a780cf76b7575933161b","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/etpl/-/etpl-3.2.0.tgz"},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/etpl-3.2.0.tgz_1466389270168_0.3579838313162327"},"directories":{}}},"name":"etpl","contributors":[{"name":"erik","email":"errorrik@gmail.com"},{"name":"otakustay","email":"otakustay@gmail.com"},{"name":"firede","email":"firede@firede.us"}],"time":{"modified":"2016-06-20T02:21:12.761Z","created":"2013-10-21T03:02:41.267Z","2.0.0-alpha.1":"2013-10-21T03:02:44.254Z","2.0.8":"2014-01-07T07:09:03.381Z","2.0.10":"2014-02-28T05:38:39.258Z","2.1.0":"2014-03-31T00:37:26.528Z","1.0.0":"2014-03-31T02:04:11.269Z","2.0.8-rc":"2014-03-31T03:30:54.279Z","2.0.10-rc":"2014-03-31T03:36:35.323Z","2.1.0-rc":"2014-03-31T03:38:24.356Z","3.0.0":"2014-09-17T01:53:35.149Z","3.0.1":"2015-05-28T01:46:37.043Z","3.2.0":"2016-06-20T02:21:12.761Z"},"readmeFilename":"README.md","homepage":"http://ecomfe.github.io/etpl/"}