入門
art-template
私の意見ではフィルタは、実際には、関数の定義、関数を呼び出すことにより、関連するデータ処理テンプレート文字列で、対応する戻り結果はページ上に表示しました。だから我々は、フィルタ、プロセス関連のデータを登録することができます。この使用node+express
例のサブ。芸術・テンプレートフィルタ
関連するパッケージをダウンロード
npm install express-art-template art-template --save
芸術・テンプレートフィルタの構文
サインフィルタ
2つのフィルタを登録し
dateFormat、timestamp
、実際には、することですtemplate.defaults.imports
我々のデータを処理するための適切な方法を追加します。
template.defaults.imports.dateFormat = function(date, format){...}
template.defaults.imports.timestamp = function(value){...}
フィルタを使用します
その構文は、パイプライン演算子に類似している、すなわち、パラメータまたはデータのフィルタ出力値は次のフィルタとして使用されます
{{data | timestamp | dateFormat}}
芸術・テンプレートを使用します
アプリに導入された以下の文書は、
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>