模板引擎
为了让开发者更加友好的方式拼接字符串,使项目更加易于维护,引入的第三方模块
art-template
const template=require('art-template');
路径要用绝对路径
const path=require('path')
const views=path.join(__dirname,'views','index.art')
const html = template(views,{
name:'haha'})
对于template模板,我们需要知道art文件的绝对路径,所以会作为第一个参数,第二个参数是即将传入模板的数据
对于html标签进行解析,所谓的解析就是将数据中的标签进行解析,如html的标签
{{@content}}
条件判断
{{if age>18}} 年龄大于18{{/if}}
{{each 数据}}<li>dfajkhdfk</li>{{/each}}
{{$index}} {{$value}}分别是索引和返回对象
子模版
可以将公共区块,抽离到单独的文件中
标准语法{{include '模板'}}
这是将子模板的引入,其中模板路径为相对路径
模板继承
使用模板继承可以将网站骨架抽离到单独文件中,其他页面模板可以继承骨架文件
首页模板
利用{{extend './layout.art'}}继承主模板的框架
利用{{block 'head'}}<link rel="stylesheet" href=custom.css"">{{/block}}
向预留的位置填充信息
主模板:主要预留block信息,并且一定标注好名字
子模版:继承主模板的骨架,然后利用block中间的信息,向主模板中的预留位置填充信息
模板配置
向模板中导入变量template.defaults.imports.变量名=变量值
在模板中就可以调用方法,对模板进行处理,就是一个可以调用的方法
设置模板根目录
template.defaults.root=path.join(__dirname,'views')
可以直接在template(直接写路径
配置默认后缀
template.defaults.extname='.art'
一个第三方模块
const dateFormat=require('dataformat');
这个模块可以格式化事件
dataformat(new Date,'格式')
对于模板中希望展示的模板数据,我想想要去除html标签
{{$value.content.replace(/正则表达式/,'').substr(截取起始,末尾}}
@表示原文输出