1

如何將所有請求路由到index.html,除了一些api調用和一些頁面。因爲路由的海妖方式是基於控制器的目錄,所以如果我做Krakenjs如何將除api調用之外的所有請求路由到index.html?

// /controller/index.js 
app.get('*', function(){ 
    res.sendFile(__dirname + '/public/index.html'); 
}); 

海妖將路線我所有的請求的index.html包括/控制器/ API目錄中的API調用。那麼如何讓kraken將/ api等一些請求路由到/controller/api/index.js,其餘的路由到/public/templates/index.html?

回答

1

我把它作爲中間件,路由器後(使用優先級,以確保它在正確的地方結束)

module.exports = function setupJustServeTheAppEverywhere() { 
    return function (req, res, next) { 
     res.sendFile(__dirname + '/public/index.html'); 
    } 
}; 

而且具有配置加載。

+1

我工作,但我如何知道如果有「文件未找到」或「內部服務器錯誤」例外,如果我重定向到index.html的所有路線? – Miqe

+0

這確實是該方法的問題,並將所有渲染卸載到客戶端。我更喜歡渲染服務器端進行初始化,這意味着您的整個路由設置實際上是明確的,而不是像這樣基於回退。 – aredridel

+0

錯誤仍會顯示,但找不到文件將被隱藏。如果你這樣做,這個應用程序永遠不會404。 – aredridel

相關問題