[英]If i specify app.engine in express, do i need to app.set view engine also?
我現在正在學習 Node.js 和模板主題。 首先,我只使用了 EJS 並配置了app.set('view engine', 'ejs')
使其正常工作。 接下來創建布局我安裝了 ejs-mate 並在我的代碼中添加了app.engine('ejs', require('ejs-mate'))
。 但它實際上有什么作用呢? 據我了解, app.set
正在將我的服務器視圖引擎配置為 EJS。 由於這個設置,我們的服務器將知道如何將我們的模板代碼解析為純 HTML。 res.render
會將渲染的 HTML 發送到客戶端。 通過app.engine('ejs', require('ejs-mate')
我是否指定要由 ejs-mate 渲染函數渲染的 .ejs 文件?為什么我仍然需要app.set('view engine', 'ejs')
? 沒有它似乎也能工作。
我會試着解釋為什么你需要app.set('view engine', 'ejs')
使用EJS 進行基本設置。
let express = require('express');
let app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', {foo: 'FOO'});
});
app.listen(4000, () => console.log('Example app listening on port 4000!'));
set
視圖引擎后,您無需在應用中指定引擎或加載模板引擎模塊。 Express 在內部加載模塊。 如果未設置視圖引擎屬性,則必須指定視圖文件的擴展名。 否則,您可以省略它。 我希望這個解釋能讓你更好地理解 ;-) 我從經驗中知道最好堅持文檔你可以在這里閱讀更多關於它的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.