2016-12-25 4 views
0

У меня есть server_render.js следующим образом. Я использовал express пакет NPM. У меня есть веб-страницы буксировки в каталоге views, один - home.ejs, а другой - portal.ejs. Я использовал механизм шаблонов EJS.Ссылка href между двумя веб-страницами на сервере в node.js с экспресс-пакетом и движком шаблона EJS

var express=require('express') 
var app=express() 
const port=process.env.PORT || 10002 

//app.use(express.static(__dirname+'/public')) 

//template engine 
app.set('view engine','ejs'); 

//homepage 
app.get('/',function(req,res){ 
    res.render('home.ejs'); 
}) 
//signin page: 127.0.0.1:10002/signin 
app.get('/signin',function(req,res){ 
    res.render('portal.ejs'); 
}); 

//run nodejs loop server 
app.listen(port,function(err){ 
    if(err){ 
     throw err 
    } 
    console.log('server is listening on '+port+' ...') 
}) 

views/home.ejs выглядит следующим образом:

<!DOCTYPE html> 
<html lang='en'> 
<head> 
    <title>Portal</title> 
</head> 
<body> 
<div>You need to <a href='portal.ejs'>sign-in</a></div> 
</body> 
</html> 

и views/portal.ejs это:

<!DOCTYPE html> 
<html lang='en'> 
<head> 
    <title>Portal</title> 
</head> 
<body> 
<input name="username" id="username" type="text" placeholder="username"></input> 
<input name="password" id="password" type="text" placeholder="password"></input> 
</body> 
</html> 

Я хочу, чтобы создать ссылку из home.ejs в portal.ejs. Я пробовал href="portal.ejs", но он не работал. Интересно, что это за метод.

+0

Я не familier с ejs, но вы пробовали 'win.loadURL ('portal.ejs')'? –

ответ

1

Вы не можете ссылаться на фактические файлы ejs. В своем коде вы заявили следующие пути:

//homepage 
app.get('/',function(req,res){ 
    res.render('home.ejs'); 
}) 
//signin page: 127.0.0.1:10002/signin 
app.get('/signin',function(req,res){ 
    res.render('portal.ejs'); 
}); 

Это означает, что экспресс-приложение имеет URLs в «/» и «/» для входа в аккаунт. На каждом из этих двух путей вы объявили рендеринг как home.ejs, так и portal.ejs в качестве выходного HTML.

Просто укажите ссылки на '/' и '/ signin' вместо фактических файлов шаблонов.

+0

Это сработало, я могу принять ваш ответ за 5 минут! – user3405291