Chúng ta cần phải dùng các template engine thì mới có thể tạo ra được các file HTML từ phía server. Đây được gọi là kỹ thuật server-side rendering.
Những template engine thông dụng trong Express là:
- Pug
- Mustache
- EJS
- Handlebars
Info
Express Generator sử dụng Pug làm template engine mặc định.
Basic usage
Để sử dụng template engine, ta cần các thiết lập sau:
- Cài đặt template engine.
- Khai báo loại template engine sử dụng.
- Khai báo đường thư mục chứa các tập tin template.
app.set('view engine', 'pug')
app.set('views', path.join('./views'))
Note
Ví dụ bên trên sử dụng template engine Pug và cấu hình thư mục chứa các tập tin template là thư mục
/views
.
Một tập tin template thuộc template engine pug sẽ có định dạng như sau:
// index.pug
html
head
title=title
body
h1=message
Để render ra một tập tin template, ta cần sử dụng phương thức render
thuộc đối tượng res
:
app.get('/', (req, res) => {
res.render('index', { title: 'Hey', message: 'Hello there!' })
})
Các giá trị truyền vào tập tin template cần được đặt trong một đối tượng. Đối tượng này sẽ được truyền vào làm đối số thứ hai của phương thức render
.