PrvtCMS制作网站,使用模板引擎(mustache.js)作服务端渲染

在这个重复造轮子的时代,新的技术每时每刻可能都在诞生。起初是想做一个构建工具,结果写了一个简单的内容管理系统(PrvtCMS),目前使用mustache.js作服务端渲染。
本着物尽其用的原则,我们不仅要使用,还要创造更深入的用法。现在让我们一起进入编程世界吧。
github地址:
https://github.com/janl/mustache.js
基本语法
变量
{{content}}
带有HTML的变量
{{{content}}}
循环
{{#navs}} ...... {{/navs}}
{{#keys}} {{.}} {{/keys}}
数组循环的时候可以用 . 作为下标
if else
{{#loginStatus}} ...... {{/loginStatus}}
{{^loginStatus}} ...... {{/loginStatus}}
布尔判断
和前面循环的语法是一样的,取决于变量是否是一个数组
{{#data}} ...... {{/data}}
数组的布尔判断
{{#datas.length}} ...... {{/datas.length}}
Lambdas
遇到和前面的循环和布尔表达式一样,取决于参数的类型
{{#person}} {{name}} is awesome. {{/person}}
两个核心方法
Mustache.parse(template); Mustache.render(template, obj);
基本用法
循环的使用
Lambdas自定义函数
官方实例
假设我们现在有一个需求,不显示个人中心导航。
这是PrvtCMS内部的功能实现,如果您有更好的方式,欢迎交流。
服务端与前端共用组件
PrvtCMS目前服务端与前端共用组件采用的方式。
服务端:{%title%}
客户端:{{data.title}}
在线演练
网址:https://www.prvt.site/mustache.js
人人为我,我为人人,一起加油吧。