koa2使用EJB和双截棍作为模板引擎
1.使用ejs作为模板引擎
如果koa2使用ejs和jade作为模板引擎,那么KOA-view可以直接用于模板加载。
使用ejs,例如:
安装:
纱线添加KOA-视图ejs使用:
使用render时,需要异步读取文件模板,因此ctx.render需要使用await
const app=require(' KOA ')();const Koaviews=require(' KOA-view ');const path=require(' path ');app . use(Koaviews(path . join(_ _ dirname,')。/view '),{ extension : ' ejs ' });app . use(async(CTX)={ const title=' post bird ';wait ctx.render('index ',{ title });});听(3000)其次,使用双节棍作为模板引擎
我真的很讨厌ejs的模板引擎语法,太弱太麻烦了。新版本去掉了模板继承,非常不方便。
我更喜欢双节棍。另外,我发现了一个aui-template的模板引擎,使用起来很舒服,体验起来也很快。
aui-模板文档地址:
http://aui.github.io/art-template/zh-cn/docs/
1.安装KOA-nunjuks-2
使用双截棍作为模板引擎,你不需要安装KOA-view。
并且可以借助他人打包的中间件KOA-nunjuks-2来实现。KOA-nunjuks这个名字已经被使用过了,但它很糟糕,没有得到维护。
当我有时间的时候,我会看看他的源代码和如何加载双节棍
纱线添加KOA-双节棍-22,使用双节棍
const koaNunjucks=require(' KOA-nunjuks-2 ');app . use(koaNunjucks({ ext : ' njk ',path: path.join(__dirname,')。/view ')、nunjuksconfig : { trimblocks : true } });3.渲染模板
同样,异步文件读取需要等待。
router.get('view ',async (ctx)={ var food={ '番茄酱' : '5汤匙','芥末' : '1汤匙','泡菜' : '0汤匙' };wait ctx.render('index ',{title:'nunjucks ',food });});4.模板语法
有关更多语法,请参见文档:
https://mozilla.github.io/nunjucks/cn/templating.html#for
body h1 { { title } }/h1 pccycle:/p ul { %代表键,食物中的值%} li {{key}}-{{value}}/li {%end代表%}/ul/body III。影响
四.问题
在使用KOA-nunjuks-2的时候,我发现了一个问题:
app.use (nunjuks ({}))必须放在app.use (router.routes())之前。请使用(router.allowedmethods()),否则它将报告ctx.render()不是函数。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:koa2使用EJB和双截棍作为模板引擎是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。