[英]Converting from ejs to html
所以我一直在關注這個使用 ejs 的教程。 但我不是很熟悉 ejs,因此想了解如何將 server.js 從 ejs 轉換為 html。代碼如下所示:
app.set('view-engine', 'ejs')
app.use(express.urlencoded({ extended: false }))
app.use(flash())
app.use(session({
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: false
}))
app.use(passport.initialize())
app.use(passport.session())
app.use(methodOverride('_method'))
app.get('/', checkAuthenticated, (req, res) => {
res.render('index.ejs', { name: req.user.name })
})
app.get('/login', checkNotAuthenticated, (req, res) => {
res.render('login.ejs')
})
app.post('/login', checkNotAuthenticated, passport.authenticate('local', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
}))
app.get('/register', checkNotAuthenticated, (req, res) => {
res.render('register.ejs')
})
app.listen(3000)
請注意,登錄、索引和注冊文件也是 ejs 文件,而不是 html。我嘗試將它們的名稱更改為 html,並在上面的代碼中將 ejs 切換為 html,但是 html 找不到應該重定向到的文件當按下提交按鈕時。 例如,注冊按鈕應該引導你回到登錄頁面,登錄頁面應該繼續索引。 但都沒有奏效。
關於如何從 ejs 更改為 html 的任何輸入?
render
旨在將數據注入模板,然后返回結果。 它的工作原理是根據您傳遞給它的名稱和選定的視圖引擎來查找文件。
HTML 文件不是模板,所以你不應該首先將它們與render
一起使用。
如果要提供 static 文件,請使用static
模塊而不是創建顯式路由。
但是,您不需要熟悉 EJS 就可以使用它,因為它只不過是 HTML,對<%
和%>
之間發生的事情有特殊規則。 由於您首先不能在 HTML 中使用<%
和%>
,因此您只需在 EJS 文件中編寫普通的 HTML。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.