node使用art-template的过滤器
引言
art-template过滤器在我看来,其实就是定义一个函数,模板字符串通过调用该函数处理相关的数据,得到相应的返回结果,显示在页面上。因此我们可以注册一个过滤器,处理相关的数据。这里使用node+express举例子。art-template过滤器
下载相关的包
npm install express-art-template art-template --save
art-template过滤器语法
- 注册过滤器
注册了两个过滤器
dateFormat、timestamp,其实就是为template.defaults.imports添加相应的方法来处理我们的数据。
template.defaults.imports.dateFormat = function(date, format){...}
template.defaults.imports.timestamp = function(value){...}
- 使用 过滤器
它的语法类似与管道操作符,即上一个过滤器的 输出值 或者 数据 会作为下一个过滤器的参数
{{data | timestamp | dateFormat}}
使用 art-template
在app文件引入以下文件,
art-template默认是读取项目根目录views文件夹下的art文件,可以通过app.engine('html', require('express-art-template'))修改为html文件,也可以修改读取的文件夹app.set('views', '具体文件夹'),可以使用相对路径或者绝对路径。
var express = require('express')
const template = require('art-template')
app.engine('html', require('express-art-template'))
app.get('/filter', (req, res) =>{
res.render('filter.html')
})
//注册一个过滤器 通过处理时间戳 转为日期格式
template.defaults.imports.getDate = (dateTime) =>{
const datetime = new Date(dateTime)
const year = datetime.getFullYear()
const month = ("0" + (datetime.getMonth() + 1)).slice(-2)
const date = ("0" + datetime.getDate()).slice(-2)
const hour = ("0" + datetime.getHours()).slice(-2)
const minute = ("0" + datetime.getMinutes()).slice(-2)
const second = ("0" + datetime.getSeconds()).slice(-2)
return year + "-"+ month +"-"+ date +" "+ hour +":"+ minute +":" + second
}
filter.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<p>传入时间搓可获取时间格式</p>
<span>{{ 1568078584726 | getDate}}</span>
</body>
</html>
浏览器显示结果

node使用art-template的过滤器的更多相关文章
- art template前端模板引擎
偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...
- 小白学习VUE第二课:环境搭建 VUE Node.js VSCode template模板
环境搭建 VUE Node.js VSCode template模板: 首先安装node:http://www.runoob.com/nodejs/nodejs-install-setup.html ...
- art.template 循环里面分组。
后台提供给我们一个数组,我们要用模版实现上面的格式输出怎么版呢? 下面就是解决方案: <h2>循环4个一组</h2> <script type="text/ht ...
- 利用art.template模仿VUE 一次渲染多个模版
TypeScript代码 import template = require('art-template/lib/template-web'); interface TemplateBindConfi ...
- 利用art.template模仿VUE
首先先看一下Typescript代码: import template = require('art-template/lib/template-web'); interface TemplateBi ...
- js 模板引擎 -Art Template
一个例子涵盖所有: <!doctype html> <html> <head> <meta charset="UTF-8"> < ...
- Node.js:template
ylbtech-Node.js: 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylbtech ...
- Django模板语言中的自定义方法filter过滤器实现web网页的瀑布流
模板语言自定义方法介绍 自定义方法注意事项 Django中有simple_tag 和 filter 两种自定义方法,之前也提到过,需要注意的是 扩展目录名称必须是templatetags templa ...
- 前端学习 node 快速入门 系列 —— 报名系统 - [express]
其他章节请看: 前端学习 node 快速入门 系列 报名系统 - [express] 最简单的报名系统: 只有两个页面 人员信息列表页:展示已报名的人员信息列表.里面有一个报名按钮,点击按钮则会跳转到 ...
- [置顶] ※数据结构※→☆非线性结构(tree)☆============树结点 链式存储结构(tree node list)(十四)
结点: 包括一个数据元素及若干个指向其它子树的分支:例如,A,B,C,D等. 在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,简称结点. 在C语言 ...
随机推荐
- JAVA异常类Throwable解析
在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类. Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) :二者都是 ...
- MySQL数据库性能优化:表、索引、SQL等
一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...
- 搜索排序-learning to Rank简介
Learning to Rank pointwise \[ L\left(f ; x_{j}, y_{j}\right)=\left(y_{j}-f\left(x_{j}\right)\right)^ ...
- 洛谷$P3302$ 森林 $[SDOI2013]$ 主席树
正解:主席树 解题报告: 传送门! 口胡一时爽代码火葬场 这题想法不难,,,但显然的是代码应该还挺难打的 但反正我也不放代码,就写下题解趴$QwQ$ 第一问就是个$Count\ on\ a\ tree ...
- $HNOI2012\ $ 集合选数 状压$dp$
\(Des\) 求对于正整数\(n\leq 1e5\),{\(1,2,3,...,n\)}的满足约束条件:"若\(x\)在该子集中,则\(2x\)和\(3x\)不在该子集中."的子 ...
- .NET设计篇08-线程取消模型和跨线程访问UI
知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂,输出倒逼输入 内容目录 一.线程统一取消模型1.取消令牌2.可以中断的线程1.设计一个中断函数2.创建CancellationTokenSour ...
- 简单了解linux内核
linux内核是单块结构Linux能动态的按需装载或卸载模块Linux内核线程以一种十分受限制的方式来周期性地执行几个内核函数,因为linux内核线程不能执行用户程序,因此,她们并不代表基本的可执行上 ...
- 12.pyecharts详细使用教程
官方数据教程: 柱状图-Bar //导入柱状图-Bar from pyecharts import Bar //设置行名 columns = ["Jan", "Feb&q ...
- JavaScript系列之回调函数callback
JavaScript系列之回调函数callback JavaScript回调函数的使用是很常见的,引用官方回调函数的定义: A callback is a function that is passe ...
- 虚拟机安装(Vmware14)
下载Vmvare,然后安装. 安装成功后,对两个版本的了解:简单来说Pro的版本更复杂. 创建新的虚拟机时遇到提示BIOS固件问题,提示说Intel的Uirtualizatuion未被激活,解决方案关 ...