【问题标题】:AngularJS html5 mode with nodeJSAngularJS html5 模式与 nodeJS
【发布时间】:2017-09-09 11:19:22
【问题描述】:

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

我在 AngularJS 中使用 HTML5 模式 true 并且我的 URL 带有 #!并重定向到/使用此模式。但是,当我点击刷新时,它会给出 404。

我的 index.html 中有。

根据链接:Angular ui-router pressing refresh causes 404 error。在按下重新加载/刷新之前,没有 hashbang 的 url 可以正常工作。当我手动添加 /#!/ 时,它会被重定向到正确的路径。

需要使用app.use(*, callback) 处理服务器端的问题,但由于服务器在端口 11000 上运行,因此请求永远不会真正到达那里。我在这里错过了一些基本的东西吗?我尝试为节点 js 中的所有路由添加星号通配符,但这没有帮助。

【问题讨论】:

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

标签: angularjs node.js


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-08-04
    • 2014-10-29
    • 2015-05-03
    • 1970-01-01
    • 2016-04-18
    • 2018-10-21
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多