nodejs和angularjs之间的路由冲突

时间:2016-01-27 16:12:36

标签: javascript angularjs node.js express angular-ui-router

我使用NodeJS,gulp和Angular与ui-router,现在当我配置angular以从路由中删除标记(#)时,我得到了下一个问题,Angular的路由不起作用和导航器显示此消息:

无法获取/访问

我可以限制nodeJs,以便它只响应特定路由下的呼叫吗?

例如: localhost:3000 / api / *

或者我需要使用node和gulp端口限制此性能。

1 个答案:

答案 0 :(得分:0)

问题是node.js正在尝试提供路由。

你可以通过在你的Node.js路由(即你的API调用等)之后运行一个catch-all处理程序来解决这个问题。

假设您正在使用express,请在server.js文件中执行以下操作:

app = express();
app.use(app.router); // handles all your express routes

app.use(function(req, res) {
  res.sendfile(__dirname + '/public/index.html'); // will execute angular code
});