为特定网址加载不同的ejs文件

时间:2014-10-07 07:23:44

标签: node.js ejs

我有一个登录页面,然后我在登录页面后面有多个其他页面。我正在使用Express并选择ejs作为我的模板引擎,我创建了2个ejs文件:1个用于我的登录页面,1个用于我的其余页面。

我的app.js app.get如下所示:

app.get('/', function (req, res) {
    res.render("login", { client_id: client_id, app_url: app_url});
});
app.get('*', function (req, res) {
    res.render("index", { client_id: client_id, app_url: app_url});
});

我的控制器加载登录页面,然后加载仪表板

function config($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise("/");
     $stateProvider
        .state('login', {
            url: "/",
            templateUrl: "views/login.html",

    })

    $stateProvider
        .state('dashboard_1', {
            url: "/dashboard",
            templateUrl: "views/dashboard.html",
    })

当我导航到/ login时,必须加载login.ejs,当我导航到任何其他url时,必须加载我的indes.ejs。我如何让它工作?

1 个答案:

答案 0 :(得分:1)

*适用于所有网址,包括/,因此您可以执行以下操作,

app.get('*', function (req, res) {
    if ( req.path == '/'){
       res.render("login", { client_id: client_id, app_url: app_url});
    }
    else{
       res.render("index", { client_id: client_id, app_url: app_url});
    }
});