2016-12-25 3 views
0

다음과 같이 server_render.js이 있습니다. 나는 express NPM 패키지를 사용했다. 나는 views 디렉토리에 견인 웹 페이지를 가지고 있는데, 하나는 home.ejs이고 다른 하나는 portal.ejs입니다. EJS 템플릿 엔진을 사용했습니다.Express 패키지 및 EJS 템플릿 엔진이있는 node.js의 서버에있는 두 웹 페이지 간 href 링크

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

저는 ejs에 익숙하지 않지만'win.loadURL ('portal.ejs')'를 사용해 보셨습니까? –

답변

1

실제 ejs 파일에 링크 할 수 없습니다. 이것은 당신의 명시 응용 프로그램은 '/'와 '/ 로그인 절차'에 URL을한다는 것을 의미한다

//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'); 
}); 

: 코드에서 다음과 같은 경로를 선언했다. 이 두 경로에서 home.ejs 또는 portal.ejs를 출력 HTML로 렌더링하도록 선언했습니다.

실제 템플릿 파일 대신 '/'및 '/ signin'링크를 가리 키십시오.

+0

효과가있어 5 분 안에 답변을 수락 할 수 있습니다! – user3405291

관련 문제