laziest
v1.0.1
Published
a template engine for es6
Downloads
2
Readme
Laziest
一个利用es6的模板字符串功能封装实现的模板引擎
安装方法
npm i laziest
使用方法
//引入laziest模块
const laziest = require('laziest');
//使用compile方法编译模板
var view = laziest.compile(templatePath);
//引入数据内容
var data = require(dataPath);
//生成内容
var output = view(data);
//将内容写入文件
const fs = require('fs');
fs.writeFileSync(filePath,output);
模板语法
<% javascript 代码 %> //插入javascript代码
#{ 变量名称 } //插入变量值
例子详解
零、已拥有数据文件studentList.json,内容如下:
[
{
"name": "Jack",
"sex": "male",
"age": 12
},
{
"name": "Rose",
"sex": "female",
"age": 13
},
{
"name": "Kate",
"sex": "female",
"age": 11
}
]
一、希望生成output.json文件,内容如下:
[
{
"index":1,
"introduction":"my name is Jack,my sex is male and my age is 12"
},
{
"index":2,
"introduction":"my name is Rose,my sex is female and my age is 13"
},
{
"index":3,
"introduction":"my name is Kate,my sex is female and my age is 11"
}
]
二、编写模板代码过程如下: (1)先观察生成文件结构,知道是循环输出,然后开始新建模板。 新建一个模板template.laz(注意后缀名称是laz),忽略变量和循环,初步框架内容如下:
[
{
"index":,
"introduction":"my name is ,my sex is and my age is "
}
]
(2)然后开始通过 #{ } 符号添加常规变量:
[
{
"index":,
"introduction":"my name is #{ele.name},my sex is #{ele.sex} and my age is #{ele.age}"
}
]
(3)最后再通过 <% %> 符号插入含有逻辑的js代码,用法类似js代码中插入php代码,注意中间输出部分不能放置在 <% %> 中,如中间有输出,则需要将js代码前半部分用 %> 闭合,中间填写输出内容(可用 #{ } 对变量取值),再用 <% 开始后半部分,如下:
[<%data.forEach((ele,index)=>{%>
{
"index":#{index+1},
"introduction":"my name is #{ele.name},my sex is #{ele.sex} and my age is #{ele.age}"
}<%if(index < data.length-1 ){%>,<%}else%><%})%>
]
三、最后,在generate.js文件中编写生成代码如下:
//引入laziest模块
const laziest = require('laziest');
//使用compile方法编译模板
var view = laziest.compile('./template.laz');
//引入数据内容
var data = require('./studentList.json');
//生成内容
var output = view(data);
//将内容写入文件
const fs = require('fs');
fs.writeFileSync('output.json',output);
License
MIT License