簡體   English   中英

使用Express Package和EJS模板引擎在Node.js中服務器上的兩個網頁之間建立href鏈接

[英]href link between two webpages on server in node.js with express package and EJS template engine

我有一個server_render.js如下。 我使用了NPM express包裝。 我在views目錄中有兩個網頁,一個是home.ejs ,另一個是portal.ejs 我使用了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"但是沒有用。 我想知道用什么方法。

您無法鏈接到實際的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');
});

這意味着您的快速應用程序的網址為“ /”和“ / signin”。 在這兩個路徑中的每個路徑上,您都聲明了將home.ejs或portal.ejs呈現為輸出HTML。

只需將鏈接指向“ /”和“ / signin”,而不是實際的模板文件即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM