【问题标题】:enable HTML5 mode in meanjs在meanjs中启用HTML5模式
【发布时间】:2016-05-20 00:38:15
【问题描述】:

我在我的配置文件中包含了$locationProvider.html5Mode(),它可以工作。但是,当我刷新页面时,它会重定向回我的 express 应用程序而不是我的 angularjs 前端。

如何确保/api 以外的任何内容都被路由到我的 index.html 页面?

angular.module(ApplicationConfiguration.applicationModuleName).config(['$locationProvider',
    function($locationProvider) {
        $locationProvider.html5Mode({
            enabled: true,
            requireBase: false
        });
        $locationProvider.hashPrefix('!');
    }
    ])

【问题讨论】:

  • 此更改需要在您的 node.js 路由中发生,因此我们需要看到这一点。您甚至添加了可以执行此重定向的中间件吗?
  • 是的,正如 Kevin B 所说,您需要有一些重定向规则,以便在此目录下丢失的任何请求或不是文件的请求都会重定向到 index.html,因此丢失文件的路径服务器转到 index.html,因此 Angular 可以从那里处理路由。这取决于您实际运行节点的具体情况。
  • 不,我没有添加任何中间件。你能举个例子吗?
  • @JustinYoung 你找到答案了吗?
  • 不。较新的版本默认启用它。如果您还不是很深入,我建议您升级。模块的结构也得到了极大的改进。

标签: javascript angularjs meanjs


【解决方案1】:

在旧版本 (0.3.0) 中,在 Globbing 路由修复我的问题后添加以下代码。 我将此添加到 /config/express.js 的第 130 行。

app.get('/*', core.index);

希望这会对某人有所帮助:)

【讨论】:

    【解决方案2】:

    在 core.server.routes.js 中替换

    app.route('/').get(core.index);

    通过

    app.route('/*').get(core.index);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-23
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-18
      相关资源
      最近更新 更多