Javascript 带有ejs模板文件和角度的节点,导致出现双页

Javascript 带有ejs模板文件和角度的节点,导致出现双页,javascript,angularjs,node.js,express,ejs,Javascript,Angularjs,Node.js,Express,Ejs,我正在开发一个用Nodejs(express)、ejs和Angular构建的应用程序。 后端将呈现布局ejs模板,如下所示: app.set('view engine', 'ejs'); app.set('layout', 'shared/layout'); 及 问题是,当您单击404页面上的链接时,新页面被呈现,但404页面仍然在底部“逗留”(一次显示两个页面) 这应该由前端处理吗?或者这是后端设置的问题(这里的最佳实践是什么?),或者我需要在点击链接时强制某种“硬刷新”页面,这样404模板

我正在开发一个用Nodejs(express)、ejs和Angular构建的应用程序。 后端将呈现布局ejs模板,如下所示:

app.set('view engine', 'ejs');
app.set('layout', 'shared/layout');

问题是,当您单击404页面上的链接时,新页面被呈现,但404页面仍然在底部“逗留”(一次显示两个页面)


这应该由前端处理吗?或者这是后端设置的问题(这里的最佳实践是什么?),或者我需要在点击链接时强制某种“硬刷新”页面,这样404模板就消失了?我尝试过使用Angular硬刷新:
state1
但是后端似乎也注入了
href=“state1”
(我假设它在Angular接管之前就这样做了?

你有什么理由不只是在本地加载404模板吗?你有
$stateProvider.State({……})
吗?这使你能够设置你的路线?是的,就是这样,而且它似乎也在告诉程序在404时去“家”州。尽管如此,问题似乎是404被节点后端捕获(它随后提供不同的模板),我不太明白这是如何与Angular“拼凑”在一起的。为什么你要从服务器上提供404?为什么不在客户端呢?不知道,我没有创建这个网站,只是加入了它,并试图弄清楚到底发生了什么,最好的方式应该是什么!
    <div ui-view></div>
    <%- body %>
</body>
if (req.xhr) {
    res.status(404).render('shared/404', { title: '404', message: 'Page not found' })
}