手机版

koa2使用EJB和双截棍作为模板引擎

时间:2021-08-28 来源:互联网 编辑:宝哥软件园 浏览:

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或者邮箱删除。