如何连接.ejs文件到.html文件?



我想连接我的登录。Ejs文件到index.html文件。我的目录是这样的:

UserService directory
app.js
views
- login.ejs
- signup.ejs
- dashboard.ejs
Website
- index.html

我在stackoverflow上搜索并使用了一些解决方案:

在index.html中(用于连接登录页面和index.html页面):

<a class="nav-link btn btn-warning signup" href="./UserService/views/login.ejs">Login</a>

在app.js:

app.get('./views/login.ejs',function(req,res,next){
res.render('login');
});

我结合了上面的解决方案和其他一些在其他帖子中提到的解决方案。但是,我仍然可以登录。Ejs文件的代码在网站上。请帮助。

谢谢!

为什么把路由设为'./views/login.>Ejs '而不是just '。/views/login'删除扩展是很好的做法除此之外您的路由指向另一个位置


app.get('./views/login.ejs',function(req,res,next){
res.render('login');
});
//which is this => 127.0.0.1:80/views/login.ejs
所以把你的代码改成
<a class="nav-link btn btn-warning signup" href="./views/login.ejs">Login</a>

要将ejs页面链接到html或php页面,您需要转到app.js文件并相应地设置视图引擎。

在app.js

app.set('view engine', 'ejs');
app.set('view engine','html');
app.set('view engine','php');

不要忘记使用npm install html安装这些依赖项最后使用render函数渲染任意类型的前端页面,如下图所示:

router.get('/', forwardAuthenticated, (req, res) => res.render('index.html')); 
#Incase of a .php file. 
router.get('/', forwardAuthenticated, (req, res) => res.render('index.php')); 

在html/php源代码中,你可以直接使用你创建的路由来链接页面。

<a class="nav-link btn btn-warning signup" href="/users/login">Login</a>

为了说明上面的语句,我将包含呈现登录的路由文件片段。ejs文件:

路线/users.js

router.get('/login', forwardAuthenticated, (req, res) => res.render('login.ejs'));

希望解决方案有所帮助。谢谢你!

最新更新