【问题标题】:Removing the hashtag from AngularJS when working with SailsJS使用 SailsJS 时从 AngularJS 中删除主题标签
【发布时间】:2014-08-30 22:30:42
【问题描述】:

我对在我们的应用程序上配置路由感到非常沮丧,该应用程序使用了sailsJS 和 angularJS。

问题是,浏览器不知道 angular,所以任何像 /login 这样的请求都会从sails 返回 404 错误。我需要一个解决方案,以使帆的路线远离有角度的路线,

一种解决方案是禁用 html5Mode,但我真的不喜欢带有 /#/ 的 URL 的外观,这对于 Angular 来说是典型的。

我对此进行了很多研究,但尚未找到一个好的答案,或者可能是一个可行的项目。

我现在正在尝试做的事情可能吗?

【问题讨论】:

  • 只是告诉sails返回每个url上的角度内容。

标签: angularjs url sails.js angular-ui-router


【解决方案1】:

如果您在 Angular 中使用 HTML5 模式,那么您需要配置您的 Web 服务器(在本例中为 SailsJS)以使用您的 index.html 文件响应对 /login 或任何任意路由的请求。

如果您在 Web 浏览器中直接导航到 http://localhost:3000/login(假设您在 localhost:3000 上运行 Sails),Sails 需要使用您的 index.html 进行响应,以便您的 Angular 应用程序可以引导并显示适当的路由.然后,用户在您的应用中点击的后续链接将被 Angular 路由器直接拦截,而不是直接被 Sails 拦截。

Angular 有关于使 HTML5 模式正常工作的文档here

使用此模式需要在服务器端重写 URL,基本上您必须重写所有指向应用程序入口点的链接(例如 index.html)。在这种情况下,要求<base> 标记也很重要,因为它允许 Angular 区分作为应用程序基础的 url 部分和应由应用程序处理的路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多