href link 在 node.js 服务器上的两个网页之间,带有快递包和 EJS 模板引擎
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.ejs
到 portal.ejs
的 link。我试过 href="portal.ejs"
但它不起作用。请问有什么方法。
您不能 link 实际的 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');
});
这意味着您的 Express 应用程序的 URL 位于“/”和“/signin”。在这两条路径中,您已声明将 home.ejs 或 portal.ejs 渲染为输出 HTML.
只需将 link 指向“/”和“/signin”,而不是实际的模板文件。
我有一个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.ejs
到 portal.ejs
的 link。我试过 href="portal.ejs"
但它不起作用。请问有什么方法。
您不能 link 实际的 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');
});
这意味着您的 Express 应用程序的 URL 位于“/”和“/signin”。在这两条路径中,您已声明将 home.ejs 或 portal.ejs 渲染为输出 HTML.
只需将 link 指向“/”和“/signin”,而不是实际的模板文件。