2016-12-25 19 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.ejsportal.ejs。我试过href="portal.ejs"但是它没有工作。我想知道什么是方法。

+0

我不熟悉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'); 
}); 

这意味着你的快递应用在“/”和“/登入”有网址。在这两条路径的每一条上,您声明将呈现home.ejs或portal.ejs作为输出HTML。

只需指向'/'和'/ signin'的链接,而不是实际的模板文件。

+0

它的工作,我可以在5分钟内接受你的答案! – user3405291