Javascript 带有node.js和ejs的多页面站点中的链接不起作用

Javascript 带有node.js和ejs的多页面站点中的链接不起作用,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,我在node.js/ejs中的多页网站有问题。我想这是路线问题,但我相信我的路线设置正确。我的索引页面呈现良好,但当我尝试跟踪页面上的链接时,会出现“Cannot get/”错误 我的相关前端代码: <nav id="main_nav"> <a class="button_horizontal" href="index.ejs">HOME</a> <a class="button_horizontal" href="about.ejs">

我在node.js/ejs中的多页网站有问题。我想这是路线问题,但我相信我的路线设置正确。我的索引页面呈现良好,但当我尝试跟踪页面上的链接时,会出现“Cannot get/”错误

我的相关前端代码:

<nav id="main_nav">
<a class="button_horizontal" href="index.ejs">HOME</a>      
<a class="button_horizontal" href="about.ejs">ABOUT</a>
<a class="button_horizontal" href="portfolio.ejs">PORTFOLIO</a>
<a class="button_horizontal" href="events.ejs">EVENTS</a>
</nav>
和我的文件结构:

views/
    index.ejs
    about.ejs
    portfolio.ejs
    events.ejs
public/
    css/
    images/
    js/
routes/
    index.js
    users.js

如果有人能发现我遗漏了什么,我将非常感激,因为我似乎找不到任何使用多个网页的教程

它不起作用,因为在
中,您指向的是
index.ejs
页面,而不是node.js应用程序的任何路由

相反,你应该

<a class="button_horizontal" href="/">HOME</a>      
<a class="button_horizontal" href="/about">ABOUT</a>
<a class="button_horizontal" href="/portfolio">PORTFOLIO</a>
<a class="button_horizontal" href="/events">EVENTS</a>

如果您有任何疑问,请告诉我。

您可能还需要从链接中删除ejs扩展。不过我不确定。(编辑:和你一样,抱歉太快了)我不是把它删除了吗?我应该在几个小时前读这篇文章的。谢谢@MukeshSharmaI我认为标签中有问题。您不应该在
href
中使用.ejs扩展名,因为我们不是直接渲染.ejs文件,节点js必须根据路由进行渲染。因此,您需要提到“/”或“/关于”。
<a class="button_horizontal" href="/">HOME</a>      
<a class="button_horizontal" href="/about">ABOUT</a>
<a class="button_horizontal" href="/portfolio">PORTFOLIO</a>
<a class="button_horizontal" href="/events">EVENTS</a>
app.get('/', function(req, res) {
   res.render('index', { });
});
app.get('/about', function(req, res) {
   res.render('about', { });
});
app.get('/portfolio', function(req, res) {
   res.render('portfolio', { });
});
app.get('/events', function(req, res) {
   res.render('events', { });
});