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') %>



留言