Ember.js Ember CLI/浏览器刷新/生产/404

Ember.js Ember CLI/浏览器刷新/生产/404,ember.js,ember-cli,Ember.js,Ember Cli,我使用Ember CLI 0.1.15和emberjs开发了我的webapp。1.8.1 我用以下命令构建了这个应用程序:ember build--environment production,然后我用我的项目的dist文件夹下生成的文件进行了一次WAR,然后我将WAR放在tomcat的webapps文件夹中 所以,当我打开应用程序时:。。。一切都很好,我看到了我的登录屏幕,我登录了,并在我的应用程序中导航,一切都很好。我还可以做后退/前进按钮,余烬可以很好地处理转换 但当我点击浏览器上的刷新按

我使用Ember CLI 0.1.15和emberjs开发了我的webapp。1.8.1

我用以下命令构建了这个应用程序:ember build--environment production,然后我用我的项目的dist文件夹下生成的文件进行了一次WAR,然后我将WAR放在tomcat的webapps文件夹中

所以,当我打开应用程序时:。。。一切都很好,我看到了我的登录屏幕,我登录了,并在我的应用程序中导航,一切都很好。我还可以做后退/前进按钮,余烬可以很好地处理转换

但当我点击浏览器上的刷新按钮时——此时浏览器的地址栏正在显示——我收到了来自tomcat的404回复

然后我找到了原因:刷新按钮向tomcat发送路径/myapp/myinventory/…的请求。。。当然,服务器上不存在path/myinventory。除了基本url之外,我们在浏览器上看到的所有路由都是在客户端生成的

所以,我的问题是:什么是正确的方式(在余烬)来处理这种情况?我需要刷新按钮才能正常工作。余烬有没有办法截获刷新按钮点击事件

我猜这个问题与此相关:,但它没有我需要的答案

提前感谢,, 拉卡

---更新---

可能相关:

  • config/environment.js
    文件中,有一个名为
    locationType
    的属性。将其值设置为
    hash

  • /dist
    文件夹手动移动文件既耗时又烦人。相反,您可以在
    .ember cli
    中指定一个
    输出路径
    属性,并将文件移动到webapps中的位置。另一个选项是将此选项指定给
    ember服务器
    ember构建


  • 看看下面是否适合你,谢谢!它起作用了。如何接受它作为答案?顺便说一句另一个问题(单独的一个问题),显然当你点击刷新按钮时,浏览器会重新加载整个站点(包含所有脚本),重置所有内容,包括我放在应用程序控制器中的“loggedInUser”。。。。是浏览器吗?还是余烬?如何阻止他们中的任何一个/都停止那样做。。。。或者按refresh真的是一种犯罪吗?那么这是否意味着,如果在路径根上没有这个“恼人的”小散列,就不可能在生产中使用Ember应用程序?我也有同样的问题将位置类型更改为“哈希”后在url中。有什么解决办法吗?