Eta模板引擎從2.x遷徙到3.x(express,node.js)
修理使用express建構的小工具中發現Eta模板升級後到處是問題,所以紀錄一下從2.x遷徙到3.x版本,哪些地方該調整。
以下借用 eta模板的範例來列舉2.x版與3.x版要調整的地方
1. 引用eta模組 (Import)
2.x版
const eta = require('eta')
3.x版
const { Eta } = require('eta')
2. 設定模板目錄 (Setup)
2.x版
app.engine('eta', eta.renderFile)
app.set('view engine', 'eta')
app.set('views', path.join(__dirname, 'views'))
3.x版
const eta = new Eta({ views: path.join(__dirname, 'views') })
3. 使用模板 (Rendering)
2.x版 可以直接使用express的render來處理
res.render('template', { food: 'cake' })
3.x版 Eta官方就在文件中表示不支援express的engine了
const renderedTemplate = eta.render('template', { food: 'cake' })
res.status(200).send(renderedTemplate)
4. 模板內的引用 (template import another template)
2.x版
<%~ includeFile('./footer') %>3.x版
<%~ include('./footer') %>
留言