TL; DR
- موتور قالب به ما توانایی استفاده را می دهد
res.render()
به جایres.send()
res.engine()
تصمیم خواهد گرفت که چه چیزیres.render()
ارسال خواهد کرد
از اینجا شروع کنید
ما یک دایرکتوری ایجاد خواهیم کرد که حاوی فایل های سفارشی ما در داخل آن است. ما به آن پسوند سفارشی می دهیم. در این آموزش پسوند من “kanby” خواهد بود.
اجازه می دهد فایل های سفارشی خود را در آن پوشه صفحات ایجاد کنیم.
اکنون زمان آن است که موتور قالب خود را ایجاد کنیم.
اول ما بسته های مورد نیاز را وارد می کنیم
const express = require("express");
const fs = require("fs");
سپس بنویسید که می خواهید موتور قالب شما چگونه کار کند
app.engine('kanby', (filePath, options, callback) = {
fs.readFile(filePath, (err, content) = {
// Error handler
if (err) return callback(err)
// process the content of file here
// you can custumize however you want
// this will change only #title# and #message#
// but you can do advenced stuff with regular expressions.
// this example is the example used in express js docs
const rendered = content.toString()
.replace('#title#', `${options.title} `)
.replace('#message#', ``)
return callback(null, rendered)
})
})
پس از آن، باید 2 تنظیم دیگر را تعریف کنید.
app.set('views', './pages') // specify the directory for pages
app.set('view engine', 'kanby') // register...