Ember.js,EmberCLI-从URL中删除哈希(#)
因此,根据Ember,默认情况下使用事件。这就是为什么我们有花哨的Ember.js,EmberCLI-从URL中删除哈希(#),ember.js,ember-cli,Ember.js,Ember Cli,因此,根据Ember,默认情况下使用事件。这就是为什么我们有花哨的#/some/url设置。我们还可以将其设置为使用浏览器的API 我注意到,上列出的大多数(如果不是全部)站点显然都使用历史API。这很有意义,因为它使URL看起来更自然 所有这些都意味着我(有点)理解了在哪里、如何以及为什么会被加上 我的问题特别与我有关。我注意到,当我创建一个简单的应用程序时,不在URL中。这是因为我还没有部署它吗?或者CLI是否默认为历史api?如果是,这套在哪里?我找不到这样的例子 App.Router.r
#/some/url
设置。我们还可以将其设置为使用浏览器的API
我注意到,上列出的大多数(如果不是全部)站点显然都使用历史API。这很有意义,因为它使URL看起来更自然
所有这些都意味着我(有点)理解了
在哪里、如何以及为什么会被加上
我的问题特别与我有关。我注意到,当我创建一个简单的应用程序时,
不在URL中。这是因为我还没有部署它吗?或者CLI是否默认为历史api?如果是,这套在哪里?我找不到这样的例子
App.Router.reopen({
location: 'history'
});
我单击的第一个使用了哈希历史;) 默认情况下,Ember使用哈希更改事件,这主要是由于跨浏览器兼容性 在ember cli中,默认情况下使用
auto
如果你查看router.js
你会发现
var Router = Ember.Router.extend({
location: YourAppENV.locationType
});
它从config/environment.js
module.exports = function(environment) {
var ENV = {
baseURL: '/',
locationType: 'auto',
EmberENV: {
....
就像快速插入一样,位置历史记录设置起来有点困难,因为
基本上,您必须告诉您的服务器在被点击时从基本页面开始服务,然后忽略任何内容,但这实际上只是一次设置。对于
locationType:“auto”
您的路线将是http://localhost:4200/login
对于locationType:“哈希”
您的路线将是http://localhost:4200/#/login
就是这样。触摸find.io。我之前点击了一个随机样本,他们所有的URL都省略了#。我不知道你说的我不会改变路线是什么意思,虽然我的配置很好。我完全忽略了这一点。我必须找到一篇好文章或是一些关于每个位置类型的优缺点的东西,所以,在我开口之前,我应该做更多的搜索。我在
location
api上找到了。@kingpin2k,就像你的评论一样,这只是一次设置。我正试图做那个设置,但我停留在静态资源路径上。所有内容都以“moduleName”作为前缀。你能看看这个吗?这个默认的hashchange在本地主机上不起作用。我的意思是,当使用localhost时,我在地址栏中看不到任何路由?