art-temple模板引擎

简介: 介绍安装渲染模板语法标准语法原始语法输出原文输出条件循环变量模板继承子模版过滤器和express结合使用安装例子使用步骤

文章目录


介绍

art-template 是一个简约、超快的模板引擎


安装

npm install art-template --save

渲染模板

var template = require('art-template');
var html = template(__dirname + '/tpl-user.art', {
    user: {
        name: 'aui'
    }
});

语法

标准语法

{{if user}}
  <h2>{{user.name}}</h2>
{{/if}}

原始语法

<% if (user) { %>
  <h2><%= user.name %></h2>
<% } %>

输出

{{value}}
{{data.key}}
{{data['key']}}
{{a ? b : c}}
{{a || b}}
{{a + b}}

原文输出

{{@ value }}

条件

{{if value}} ... {{/if}}
{{if v1}} ... {{else if v2}} ... {{/if}}

循环

{{each target}}
    {{$index}} {{$value}}
{{/each}}

变量

{{set temp = data.sub.content}}

模板继承

{{extend './layout.art'}}
{{block 'head'}} ... {{/block}}
<!--layout.art-->
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>{{block 'title'}}My Site{{/block}}</title>
    {{block 'head'}}
    <link rel="stylesheet" href="main.css">
    {{/block}}
</head>
<body>
    {{block 'content'}}{{/block}}
</body>
</html>
<!--index.art-->
{{extend './layout.art'}}
{{block 'title'}}{{title}}{{/block}}
{{block 'head'}}
    <link rel="stylesheet" href="custom.css">
{{/block}}
{{block 'content'}}
<p>This is just an awesome page.</p>
{{/block}}

子模版

{{include './header.art'}}
{{include './header.art' data}}

过滤器

template.defaults.imports.dateFormat = function(date, format){/*[code..]*/};
template.defaults.imports.timestamp = function(value){return value * 1000};
{{date | timestamp | dateFormat 'yyyy-MM-dd hh:mm:ss'}}

和express结合使用

安装

npm install --save art-template
npm install --save express-art-template

例子

var express = require('express');
var app = express();
// view engine setup
app.engine('art', require('express-art-template'));
app.set('view', {
    debug: process.env.NODE_ENV !== 'production'
});
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'art');
// routes
app.get('/', function (req, res) {
    res.render('index.art', {
        user: {
            name: 'aui',
            tags: ['art', 'template', 'nodejs']
        }
    });
});

使用步骤


目录
相关文章
|
JavaScript 前端开发 安全
模板引擎(art-template)详解
它采用作用域预声明来优化模板渲染速度,从而获得来接近JavaScript极限的运行性能,并同时支持nodejs和浏览器 1.1.特性 模板引擎是第三方模块,让开发者以更友好的方式拼接字符串,是代码啊更清晰,更加易于维护 1.2. 模板 art-template同时支持两种语法,标准语法可以让模板更容易读写, 原始语法具有强大的逻辑处理能力
1186 0
|
7月前
|
JavaScript 前端开发 Java
MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。
MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 和 Ext JS 都是 JavaScript 框架,用于开发 Web 应用程序。它们分别提供了不同的功能和特性,以帮助开发者更高效地构建和维护 Web 应用程序。
58 2
|
前端开发 JavaScript C#
Blazor_WASM之2:Razor语法
Razor 是一种标记语法,用于将基于 .NET 的代码嵌入网页中。 Razor 语法由 Razor 标记、C# 和 HTML 组成。 Razor 可在 Razor 组件 文件 (.razor) 中找到。 Razor 语法类似于各种 JavaScript 单页应用程序 (SPA) 框架(如 Angular、React、VueJs 和 Svelte)的模板化引擎,本文针对Razor文件介绍Razor常用语法。
symfony框架Twig模板语言的使用
symfony框架Twig模板语言的使用
165 0
symfony框架Twig模板语言的使用
【ThinkPHP5.1】如何引用extend的类库
【ThinkPHP5.1】如何引用extend的类库
593 0
|
JavaScript 前端开发 开发工具
禅与 JavaScript 编程艺术, Zen and The Art of JavaScript Programming
禅与 JavaScript 编程艺术 Zen and The Art of JavaScript Programming 参考资料: Airbnb JavaScript Style Guide 。
2138 0
|
前端开发 JavaScript Java
|
编解码 JavaScript 前端开发