mustache.js一个零依赖的模板系统实现

简介: mustache.js一个零依赖的模板系统实现

多种语言实现:http://mustache.github.io/

js版本文档:https://github.com/janl/mustache.js


简介:

mustache.js is a zero-dependency implementation of the mustache template system in JavaScript.

Node 环境使用

安装

$ npm install mustache --save

基本语法

变量: {{name}}
列表:{{#list}}{{.}}{{/list}}
对象:{{obj.name}} - {{obj.age}}

代码示例

const Mustache = require("Mustache");
var data = {
  name: "Tom",
  age: 23,
};
var template = "my name is {{name}}, and {{age}} years old";
var result = Mustache.render(template, data);
console.log(result);
// my name is Tom, and 23 years old

浏览器中使用

最终效果是把id=template 的内容渲染后替换到id=target

<script src="https://unpkg.com/mustache@latest"></script>
<div id="target">Loading...</div>
<script id="template" type="x-tmpl-mustache">
  hello {{name}}
</script>
<script>
  (function () {
    var template = document.getElementById("template").innerHTML;
    var rendered = Mustache.render(template, { name: "Tom" });
    document.getElementById("target").innerHTML = rendered;
  })();
</script>

异步加载模板

模板文件 template.html

hello {{name}}

异步渲染

<script src="https://unpkg.com/mustache@latest"></script>
<div id="target">Loading...</div>
<script>
  (function () {
    fetch("./template.html")
      .then((response) => response.text())
      .then((template) => {
        var rendered = Mustache.render(template, { name: "Tom" });
        document.getElementById("target").innerHTML = rendered;
      });
  })();
</script>


相关文章
|
7月前
VUE.初始化项目报错缺少core-js
VUE.初始化项目报错缺少core-js
121 0
|
4月前
|
前端开发 JavaScript 搜索推荐
Next.js 适合什么类型的项目开发?
【8月更文挑战第4天】Next.js 适合什么类型的项目开发?
256 3
|
7月前
|
JavaScript
js引入方式
js引入方式
46 1
|
7月前
|
JavaScript 前端开发 开发者
Vue.js 模板语法
Vue.js 模板语法
|
JavaScript
vue.js代码开发最常见的功能集合
vue.js代码开发最常见的功能集合
71 0
|
JavaScript
Vue 全局导入 JS 对 ClassName 进行增删扩展
Vue 全局导入 JS 对 ClassName 进行增删扩展
58 0
|
JavaScript
Vue.js常见错误处理包含代码
@[TOC](目录) 以下是 Vue.js 中常见的错误,以及相应的处理方法和代码示例: 1. 语法错误 错误信息:`Error: [vm] &quot;name&quot; is not defined` 解决方法:确保组件的 data 中定义了相同的属性。 示例代码: ```html &lt;template&gt; &lt;div&gt; &lt;p&gt;{{ name }}&lt;/p&gt; &lt;/div&gt; &lt;/template&gt; &lt;script&gt; export default { data() { return { name: &#39;Hello&#39;, }; }, };
181 0
|
前端开发
Egg.js 项目中怎么使用前端模板
Egg.js 项目中怎么使用前端模板
234 0
Egg.js 项目中怎么使用前端模板
|
JavaScript
mustache.js一个零依赖的模板系统实现
mustache.js一个零依赖的模板系统实现
81 0
下一篇
DataWorks