nodejs - artTemplate模板
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nodejs - artTemplate模板,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3565字,纯文字阅读大概需要6分钟。
内容图文
目录
1. 模板引擎的基础概念
1.1 模板引擎
模板引擎是第三方模块。
让开发者以更加友好的方式拼接字符串,使项目代码更加清晰、更加易于维护。
// 未使用模板引擎的写法
var ary = [{ name: '张三', age: 20 }];
var str = '<ul>';
for (var i = 0; i < ary.length; i++) {
str += '<li> <span>'+ ary[i].name +'</span> <span>'+ ary[i].age +'</span> </li>';
}
str += '</ul>';
<!-- 使用模板引擎的写法 -->
<ul>
{{each ary}}
<li>{{$value.name}}</li>
<li>{{$value.age}}</li>
{{/each}}
</ul>
1.2 art-template模板引擎
1.在命令行工具中使用 npm install art-template 命令进行下载
2.使用const template = require(‘art-template‘)引入模板引擎
3.告诉模板引擎要拼接的数据和模板在哪 const html = template(‘模板路径’, 数据);
4.使用模板语法告诉模板引擎,模板与数据应该如何进行拼接
1.3 art-template代码示例
const template = require('art-template');
const path = require('path');
const views = path.join(__dirname, 'views', '01.art');
const html = template(views, {
name:'张三',
age:'18'
});
console.log(html);
<div>
<span>{{data.name}}</span>
<span>{{data.age}}</span>
</div>
2. 模板引擎的语法
2.1 模板语法
-
art-template同时支持两种模板语法:标准语法和原始语法。
-
标准语法可以让模板更容易读写,原始语法具有强大的逻辑处理能力。
标准语法: {{ 数据 }}
原始语法:<%=数据 %>
2.2 输出
将某项数据输出在模板中,标准语法和原始语法如下:
-
标准语法:{{ 数据 }}
-
原始语法:<%=数据 %>
<!-- 标准语法 -->
<h2>{{value}}</h2>
<h2>{{a ? b : c}}</h2>
<h2>{{a + b}}</h2>
<!-- 原始语法 -->
<h2><%= value %></h2>
<h2><%= a ? b : c %></h2>
<h2><%= a + b %></h2>
2.3 原文输出
如果数据中携带HTML标签,默认模板引擎不会解析标签,会将其转义后输出。
-
标准语法:{{@ 数据 }}
-
原始语法:<%-数据 %>
<!-- 标准语法 -->
<h2>{{@ value }}</h2>
<!-- 原始语法 -->
<h2><%- value %></h2>
2.4 条件判断
<!-- 标准语法 -->
{{if 条件}} ... {{/if}}
{{if v1}} ... {{else if v2}} ... {{/if}}
<!-- 原始语法 -->
<% if (value) { %> ... <% } %>
<% if (v1) { %> ... <% } else if (v2) { %> ... <% } %>
2.5 循环
-
标准语法:{{each 数据}} {{/each}}
-
原始语法:<% for() { %> <% } %>
<!-- 标准语法 -->
{{each target}}
{{$index}} {{$value}}
{{/each}}
<!-- 原始语法 -->
<% for(var i = 0; i < target.length; i++){ %>
<%= i %> <%= target[i] %>
<% } %>
示例:
const template = require('art-template');
const path = require('path');
const views = path.join(__dirname, 'views', '03.art');
const html = template(views, {
users:[
{
name:'li',
age:18
},{
name:'wang',
age:20
},{
name:'zhang',
age:30
}
]
});
console.log(html);
<ul>
{{each users}}
<li>
{{$index}}
{{$value.name}}
{{$value.age}}
</li>
{{/each}}
</ul>
2.6 子模版
使用子模板可以将网站公共区块(头部、底部)抽离到单独的文件中。
-
标准语法:{{include ‘模板‘}}
-
原始语法:<%include(‘模板‘) %>
<!-- 标准语法 -->
{{include './header.art'}}
<!-- 原始语法 -->
<% include('./header.art') %>
2.7 模板继承
使用模板继承可以将网站HTML骨架抽离到单独的文件中,其他页面模板可以继承骨架文件。
模板继承示例
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>HTML骨架模板</title>
{{block 'head'}}{{/block}}
</head>
<body>
{{block 'content'}}{{/block}}
</body>
</html>
<!--index.art 首页模板-->
{{extend './layout.art'}}
{{block 'head'}} <link rel="stylesheet" href="custom.css"> {{/block}}
{{block 'content'}} <p>This is just an awesome page.</p> {{/block}}
2.8 模板配置
-
向模板中导入变量 template.defaults.imports.变量名 = 变量值;
-
设置模板根目录 template.defaults.root = 模板目录
-
设置模板默认后缀 template.defaults.extname = ‘.art‘
原文:https://www.cnblogs.com/royal6/p/12534766.html
内容总结
以上是互联网集市为您收集整理的nodejs - artTemplate模板全部内容,希望文章能够帮你解决nodejs - artTemplate模板所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。