javascript - Backbone.JS 或 Marionette.JS 路由,无需哈希更改依赖

标签 javascript backbone.js url-routing marionette hashchange

我想开始使用 JavaScript 框架 - 并认为我会尝试 Backbone 或 Marionette,因为它非常模块化且灵活(据我所知)。

目前唯一困扰我的是它们似乎都依赖于通过哈希更改进行路由。这不是我可以使用的东西,因为我有严格的 URL 结构。

有没有简单的方法可以改变这个?就像 Underscore.JS 中的模板标签一样 - 或者它有点棘手?

我遇到的一个问题是我使用 Node.js,这是在 Apache 上设置的传统服务器(如果答案依赖于 Node)。

我看到/阅读/观看/关注的每个示例/教程都取决于哈希更改,因为它们是单页网络应用程序。这是Backbone和Marionette的设计吗?我可以处理没有页面刷新的情况 - 但需要将 URL 更改为传统的 MVC 样式

最佳答案

您需要启用pushState。它只适用于现代浏览器

Backbone.history.start({pushState: true})

Backbone.RouterBackbone.History

关于javascript - Backbone.JS 或 Marionette.JS 路由,无需哈希更改依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27524900/

相关文章:

javascript - Node Express 服务器 : How to serve HTML file properly (scripts and css included) ?(csp、相对路径和类似的东西)

javascript - 如何动态更改 <title> 标签?

javascript - 将 ul 的值获取到未隐藏的变量中

javascript - Pycharm:导航到 require ('path/to/file' 中指定的 JS 源)

javascript - 为什么从 Backbone 中的自定义 BaseView 扩展时, 'events' 没有绑定(bind)到 View ?

c# - 如何将 www.example.com 重定向到 example.com?

REST API - URL 中的字符串或数字标识符

php - 如何在 JavaScript 中操作 PHP 数组?

javascript - ReactJS 嵌套列表 (flux)

javascript - 如何在 Joi 中捕获验证失败的回调