nodejs ejs模板引擎

ejs模板引擎经常与MVC模式一起使用,用来生成前端HTML代码。也可以使用这个引擎实现代码生成等功能。

首先要安装ejs模块:

npm install ejs

然后,创建模型和使用模型生成的模板,在模板中可以使用<% %>符号插入代码块,比如下面的模板:

1
2
3
4
5
6
7
8
9
10
11
12
<% 
const lowerName=name.toLowerCase()
%>
const <%=name%> = require('./<%=lowerName%>')
const { v4: uuidv4 } = require('uuid');

module.exports = function (projectId,creator) {
return {
isSuccess: true,
instance: new <%=name%>(uuidv4(), projectId,creator)
}
}

传入的模型类似于{name:”Action”}。
最后,使用ejs引擎生成代码,可以使用ejs.renderFile和ejs.render两个函数。下面是示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
config.files.forEach(file=>{
const model=getModel(file.model)
const filepath=ejs.render(file.path,model)
checkFilePath(filepath)
const filename=ejs.render(file.filename,model)
ejs.renderFile("./templates/"+file.template+".ejs",model,function(err,str){
if(err) console.log(err)
else
fs.writeFileSync(output+"/"+filepath+filename,str)
})
})