我目前有一项服务,该服务正在通过Node向用户提供,并且正在使用Angular的路由器。
一切都很好,除了一件事:我想将Node的路由器用于一条特定路径,而不是Angular的路由器。
如何做到这一点?
作为一个临时解决方案,我一直在尝试使用CORS,该方法在某种程度上是成功的,但肯定不能使用该解决方案。
我看到了这个Stackoverflow帖子:
MEAN - Angular routes over-riding NodeJS routes
但这似乎是针对Angular的路由器。
对特定路径的传入请求(例如:“ / specificpath”的POST请求)应由Node.js处理,其余请求应由Angular的路由器处理。
谢谢。
答案 0 :(得分:0)
通常,您将所有传入流量重定向到index.html文件,以便Angular负责路由:
app.get('*', function (req, res) {
res.sendFile('/public/index.html');
});
由于已将其视为已注册的中间件,因此您可以通过指定路由(通常在node.js中通常使用的方式)来添加不应发送到Angular的路由:
app.get('/specificpath', yourController.yourMethod);
因此,完整的代码示例为:
app.get('/specificpath', yourController.yourMethod);
app.get('*', function (req, res) {
res.sendFile('/public/index.html');
});