开发者社区> 码农技术君> 正文

doT.js:一个Node.js和浏览器环境下快速简洁的javascript模板引擎

简介: doT.js:一个Node.js和浏览器环境下快速简洁的javascript模板引擎
+关注继续查看

简介:

The fastest + concise javascript template engine for Node.js and browsers.


译文:

Node.js和浏览器环境下最快+简洁的javascript模板引擎


文档:http://olado.github.io/doT/index.html


下载


# 开发版 5.1K
wget https://raw.githubusercontent.com/olado/doT/master/doT.js
# 压缩版 3.3K
wget https://raw.githubusercontent.com/olado/doT/master/doT.min.js

Node.js环境使用


npm install dot

浏览器使用


<script type="text/javascript" src="doT.js"></script>

基本模板语法

{{ }}   for evaluation
{{= }}  for interpolation
{{! }}  for interpolation with encoding
{{# }}  for compile-time evaluation/includes and partials
{{## #}}    for compile-time defines
{{? }}  for conditionals
{{~ }}  for array iteration

基本使用


<!-- 引入dot.js -->
<script src="doT.js" type="text/javascript"></script>
<!-- 定义模板 -->
<script id="content-tmpl" type="text/x-dot-template">
  <span>{{=it.name}}</span>
</script>
<!-- html节点 -->
<div id="content"></div>
<!-- 执行模板渲染 -->
<script type="text/javascript">
  var data = {
    name: "Tom",
  };
  var template = doT.template(document.getElementById("content-tmpl").text);
  // 显示渲染结果
  document.getElementById("content").innerHTML = template(data);
</script>

更多使用示例


<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script id="content-tmpl" type="text/x-dot-template">
      <h2>赋值</h2>
      <span>{{=it.name}}</span>
      <h2>循环map</h2>
      {{for(var key in it.attrs) { }}
        <span>{{=key}}: {{=it.attrs[key]}}</span>
      {{ } }}
      <h2>数组</h2>
      {{~it.pets:value:index}}
        <span>{{=index}}: {{=value}}</span>
      {{~}}
      <h2>条件</h2>
      {{? it.sex == 0}}
      <span>女</span>
      {{??}}
      <span>男</span>
      {{?}}
    </script>
    <script src="doT.js" type="text/javascript"></script>
  </head>
  <body>
    <div id="content"></div>
  </body>
  <script type="text/javascript">
    var data = {
      name: "Tom",
      sex: 0,
      pets: ["dog", "cat", "pig"],
      attrs: {
        age: 23,
        phone: 123456,
      },
    };
    var template = doT.template(document.getElementById("content-tmpl").text);
    document.getElementById("content").innerHTML = template(data);
  </script>
</html>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
nunjucks:继承于jinja2的js模板引擎
nunjucks:继承于jinja2的js模板引擎
36 0
【Javascript】用js写一个模板引擎
【Javascript】用js写一个模板引擎
52 0
【Javascript】用js写一个模板引擎
【Javascript】用js写一个模板引擎
45 0
nunjucks:继承与jinja2的js模板引擎
nunjucks:继承与jinja2的js模板引擎
78 0
10个最好的 JavaScript 模板引擎
JavaScript随着各种神奇的实用功能库日渐丰富,而越来越受到Web开发者与设计师的追捧,例如:jQuery, MooTools, Prototype等。
1046 0
只有20行Javascript代码!手把手教你写一个页面模板引擎
AbsurdJS 作者写的一篇教程,一步步教你怎样用 Javascript 实现一个纯客户端的模板引擎。整个引擎实现只有不到 20 行代码。如果你能从头看到尾的话,还能有不少收获的。你甚至可以跟随大牛的脚步也自己动手写一个引擎。以下是全文。
93 0
高性能JavaScript模板引擎template.js原理解析
artTemplate是新一代javascript模板引擎,它在v8中的渲染效率可接近javascript性能极限,在chrome下渲染效率测试中分别是知名引擎Mustache与micro tmpl的25/32倍(性能测试);artTemplate的模板还支持使用自动化工具预编译; artTemplate的库分为两种,一个是template.
11777 0
+关注
码农技术君
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
在 IoT 设备进行 JavaScript 开发的探索之路
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多