UNPKG

easytemplatejs-koa

Version:

EasyTemplateJS Template Engine middleware for koa!

176 lines (110 loc) 4.75 kB
# EasyTemplateJS-koa **EasyTemplateJS-koa 是基于 [EasyTemplateJS](https://github.com/ushelp/EasyTemplateJS "EasyTemplateJS") 的 [koa](https://koajs.com "koa") 框架的模板引擎中间件。** **EasyTemplateJS-koa is a template engine middleware based on [EasyTemplateJS](https://github.com/ushelp/EasyTemplateJS "EasyTemplateJS") for the [koa](https://koajs.com "koa") framework.** ## Npm install ```BASH npm install easytemplatejs-koa ``` ## Usage ```JS const app = new Koa(); // EasyTemplateJS-koa const view = require('easytemplatejs-koa'); // EasyTemplateJS-koa view render middleware view(app, { cache: true, // Whether to open the cache; default is true //cache: process.env.NODE_ENV == 'production', enableScript:true, // enable <etj-script>; default is true enableStyle:true, // enable <etj-style>; default is true views: path.join(__dirname, './views'), // template file directory ext: 'etj' // template file suffix }); ``` ## Demo - **app.js** ```JS const Koa = require('koa'); const path = require('path'); const app = new Koa(); // EasyTemplateJS-koa const view = require('easytemplatejs-koa'); // EasyTemplateJS-koa view render middleware view(app, { views: path.join(__dirname, './views'), // template file directory ext: 'etj' // template file suffix }); app.use(async ctx => { await ctx.render('user', { name: 'Jay', list:[ {name:"Jay", sex:'M'}, {name:"Rose", sex:'F'}, {name:"Anna ", sex:'F'} ] }); }); app.listen(3000); ``` - **./views/user.etj** ```HTML <h1>Hello {=name}!</h1> <ul> %{ for(var i=0;i<list.length;i++){ out('<li>'+list[i].name+", "+list[i].sex+'</li>'); } }% </ul> ``` ## EasyTemplateJS Core Object 如果需要获得 EasyTemplateJS 的核心对象进行调用,可通过中间件函数的 `.templateEngine` 属性获得。 If you need to get the core object of EasyTemplateJS to make a call, you can get it use the `.templateEngine` property of the middleware function. ```JS const view = require('easytemplatejs-express'); // Get EasyTemplate core Object var Et=view.templateEngine; // Use Et Et.tmplSettings={ // 脚本表达式开始结束标记%{ JS script }% scriptBegin:"%{", scriptEnd:"}%", // 输出表达式开始结束标记 {name} outBegin:"{=", outEnd:"}", // 转义输出表达式开始结束标记 {-name} escapeOutBegin:"{-", escapeOutEnd:"}" } ``` ## 内嵌 Script 和 CSS 支持/Embedded JavaScript and CSS ```javascript view(app, { enableScript:true, // enable <etj-script>; default is true enableStyle:true, // enable <etj-style>; default is true ... }); ``` #### 中文 为了增强在 Express 等服务端 Web 应用框架中使用模板的功能体验,EasyTemplateJS 开创性的为模板提供了 script 脚本和 style 样式表支持。 - **Script 代码支持** 将 JavaScript 代码放在 `<etj-script>` ... `</etj-script>` 标签之间。 **语句必须使用 `;` 结尾。** - **CSS 代码支持** 将 CSS 代码放在 `<etj-style>` ... `</etj-style>` 标签之间。 #### English To enhance the functional experience of using templates in Express and other server-side Web application frameworks, EasyTemplateJS pioneered the provision of script scripts and style style sheet support for templates. - **Script code support** Place the JavaScript code between the `<etj-script>` ... `</etj-script>` tags. **The statement must end with `;`.** - **CSS code support** Place the CSS code between the `<etj-style>` ... `</etj-style>` tags. ## EasyTemplateJS [Documents](https://github.com/ushelp/EasyTemplateJS "EasyTemplateJS") ## End Email:<inthinkcolor@gmail.com> [http://www.easyproject.cn](http://www.easyproject.cn "EasyProject Home") **支付宝钱包扫一扫捐助:** 我们相信,每个人的点滴贡献,都将是推动产生更多、更好免费开源产品的一大步。 **感谢慷慨捐助,以支持服务器运行和鼓励更多社区成员。** <img alt="支付宝钱包扫一扫捐助" src="http://www.easyproject.cn/images/s.png" title="支付宝钱包扫一扫捐助" height="256" width="256"></img> We believe that the contribution of each bit by bit, will be driven to produce more and better free and open source products a big step. **Thank you donation to support the server running and encourage more community members.** [![PayPal](http://www.easyproject.cn/images/paypaldonation5.jpg)](https://www.paypal.me/easyproject/10 "Make payments with PayPal - it's fast, free and secure!")