2012-07-29 41 views
1

我有玉置作爲我的主視圖引擎,但也有EJS的NodeJS視圖Guess多個擴展

一些網頁我怎樣才能使這樣的,當我打電話res.render('view')猜測的兩種view.jade以及view.ejs(和用途適當的引擎)?

現在我得到一個錯誤,當我指定一個EJS頁

failed to located view "viewname", tried: 
/views/viewname.jade 
/views/viewname/index.jade 
/views/../viewname/index.jade 

什麼部分節點的定義是什麼意見都試過?連接/ Express嗎?視圖引擎本身? 有什麼我可以做與app.register或類似的?

回答

0

我不知道如何快速嘗試替代擴展視圖。但那又如何?如果您知道「查看」的意思是「view.ejs」,只需寫res.render('view.ejs'),並表示將非常樂意遵守您的意願。作爲開發人員,您可能會知道您的視圖是爲什麼編寫的。如果你是團隊的一部分,如此分散,以至於前端開發人員和後端開發人員彼此之間沒有足夠的溝通,他們知道對方正在使用什麼來編寫模板,你正在處理組織問題,不是一個編程問題。

+1

是的,我完全知道,我可以做 'view.ejs' 因爲這是我一直在做的事情。我大多隻是好奇這是否可能。 – arcyqwerty 2012-07-29 19:23:59

+0

這個答案不是一個合適的解決方案,對這個問題沒有幫助。這應該是作爲評論而不是答案提交的,因爲它不僅僅是一種解決方案而是一種意見。 – skplunkerin 2017-01-18 18:46:19

0

我不確定如何指定要使用的引擎,但可以讓Node Express服務器從多個擴展中選擇(根據您的說明)。

passing extensions and other options to express.static

一個簡單的Express服務器例如:

var express = require('express'), 
    port = 3000, 
    app = express() 
; 

app.use('/views/', express.static('views', {extensions: ['jade', 'ejs']})); 

app.listen(port, function(error) { 
    if (error) { 
     console.error(error); 
    } else { 
     console.info('==> Listening on port %s. Open up http://localhost:%s/ in your browser.', port, port); 
    }; 
});