【发布时间】:2014-05-13 19:22:44
【问题描述】:
这是一个简单的问题,但我想知道是否可以从 emberjs 的 URL 中删除 # 符号?我知道这在许多框架中是不可能的,但我很想知道 ember。
如果是的话,怎么可能?
【问题讨论】:
标签: ember.js
这是一个简单的问题,但我想知道是否可以从 emberjs 的 URL 中删除 # 符号?我知道这在许多框架中是不可能的,但我很想知道 ember。
如果是的话,怎么可能?
【问题讨论】:
标签: ember.js
如果我理解正确,删除哈希会破坏使用 ember.js 的全部意义,因为其他 url 会指向其他 html 页面,而当您使用 ember.js 时,您只会下载一个页面。
【讨论】:
是的,您可以在Ember Guide中看到相关部分
请记住,这样做意味着您需要配置您的服务器,以便为您可以接受的所有可能路由提供 ember 应用程序
您也可以这样做,以便使用此类路由提供的页面将在其 noscript 标记中具有普通无灰页面的额外好处,作为 SEO 优化的一种形式(试图解释您为什么会这样做这个)
更多内容请见API Docs
揭示了使用 location:auto 而不是 location:history 的不错选择,提供了一个更向后兼容的解决方案
App.Router.reopen({
location: 'auto'
});
【讨论】:
location:'auto' tho,因为它将在现代浏览器中调用 location:'histroy' 而您的后端没有提供正确的路由,这将导致向您提供错误的 404 页面(如果您通过地址栏访问该页面例如,localhost:3000/posts 期望提供一个帖子页面,这与提供 index.html 的localhost:3000/#posts 相反,然后 ember 调用帖子把手模板。只是为了检查使用它不会破坏任何东西,将其转为 location:'hash'这是默认设置。