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) }) })
|