带nodeJS的AngularJS html5模式

带nodeJS的AngularJS html5模式,angularjs,node.js,Angularjs,Node.js,我的NodeJS应用程序在端口11000上运行,AngularJS在端口9000上运行 我在AngularJS中使用HTML5模式true,我的URL带有#!并重定向到/使用此模式。然而,当我点击refresh时,它给出了404 我的index.html中确实有 根据链接:。在按下重新加载/刷新之前,url在没有hashbang的情况下可以正常工作。当我手动添加/#!/,它被重定向到正确的路径 需要使用app.use(*,callback)在服务器端处理该问题,但由于服务器在端口11000上运行

我的NodeJS应用程序在端口11000上运行,AngularJS在端口9000上运行

我在AngularJS中使用HTML5模式true,我的URL带有#!并重定向到/使用此模式。然而,当我点击refresh时,它给出了404

我的index.html中确实有

根据链接:。在按下重新加载/刷新之前,url在没有hashbang的情况下可以正常工作。当我手动添加/#!/,它被重定向到正确的路径


需要使用
app.use(*,callback)
在服务器端处理该问题,但由于服务器在端口11000上运行,因此请求从未真正到达该端口。我是不是错过了一些基本的东西?我尝试为node js中的所有路由输入星号通配符,但没有任何帮助。

实际上您正在运行两个独立的应用程序,一个在
节点服务器上,另一个在本地“grunt dev server”上。因此,在单页应用程序中,路由是在客户端
js
上处理的,但当您刷新路由时,最初没有加载
js
来处理路由,它向服务器发出
get
请求,但没有处理路由,因此它给出
404
。您必须在
grunt文件中进行配置以处理此类路由。

您应该在
9000
端口上处理请求,即运行服务器
angular
应用程序的端口。当然,我在ui router中有一个与路由匹配的路由。它在第一次使用时起作用,但在重新加载页面时不起作用。在您使用的开发服务器上,它是webpack dev server或其他我正在使用的grunt。如果您使用的是
grunt dev server
,则应该在那里处理