Ember CLI/浏览器刷新/生产/404
Ember CLI / browser refresh / production / 404
我使用 Ember CLI 0.1.15 和 emberjs 开发了我的 webapp。 1.8.1
我用这个命令构建了应用程序:ember build --environment production ,然后我用我项目的 dist 文件夹下生成的文件做了一个 WAR,然后我将 WAR 放到我的 tomcat 的 webapps 文件夹中。
因此,当我打开应用程序时:http://mytomcat/myapp/ ...一切顺利,我看到了我的登录屏幕,我登录并在我的应用程序中导航,一切都很好。我也可以使用 back/forward 按钮,ember 可以很好地处理过渡。
但是当我点击浏览器上的刷新按钮时——浏览器的地址栏在那一刻显示 http://mytomcat/myapp/inventory/——我收到了来自 tomcat 的 404 回复。
然后我弄明白了为什么会这样:刷新按钮向tomcat发送请求路径/myapp/myinventory/ ...当然服务器上不存在路径/myinventory .我们在浏览器上看到的所有这些路由——除了基础url、http://mytomcat/myapp/——都是在客户端生成的。
所以,我的问题是:处理这种情况的正确方法是什么(ember)?我需要刷新按钮才能正常工作。 ember 有什么方法可以拦截刷新按钮的点击事件吗?
我想这个问题与此有关:https://github.com/stefanpenner/ember-app-kit/issues/486,但它没有我需要的答案。
提前致谢,
拉卡
---更新---
在 config/environment.js
文件中,有一个名为 locationType
的 属性。将其值设置为 hash
从 /dist
文件夹中手动移动文件既费时又烦人。相反,您可以在 .ember-cli
中指定 output-path
属性 以及您尝试将文件移动到的 webapps 中的位置。另一种选择是将此选项指定为 ember server
或 ember build
我使用 Ember CLI 0.1.15 和 emberjs 开发了我的 webapp。 1.8.1
我用这个命令构建了应用程序:ember build --environment production ,然后我用我项目的 dist 文件夹下生成的文件做了一个 WAR,然后我将 WAR 放到我的 tomcat 的 webapps 文件夹中。
因此,当我打开应用程序时:http://mytomcat/myapp/ ...一切顺利,我看到了我的登录屏幕,我登录并在我的应用程序中导航,一切都很好。我也可以使用 back/forward 按钮,ember 可以很好地处理过渡。
但是当我点击浏览器上的刷新按钮时——浏览器的地址栏在那一刻显示 http://mytomcat/myapp/inventory/——我收到了来自 tomcat 的 404 回复。
然后我弄明白了为什么会这样:刷新按钮向tomcat发送请求路径/myapp/myinventory/ ...当然服务器上不存在路径/myinventory .我们在浏览器上看到的所有这些路由——除了基础url、http://mytomcat/myapp/——都是在客户端生成的。
所以,我的问题是:处理这种情况的正确方法是什么(ember)?我需要刷新按钮才能正常工作。 ember 有什么方法可以拦截刷新按钮的点击事件吗?
我想这个问题与此有关:https://github.com/stefanpenner/ember-app-kit/issues/486,但它没有我需要的答案。
提前致谢, 拉卡
---更新---
在
config/environment.js
文件中,有一个名为locationType
的 属性。将其值设置为hash
从
/dist
文件夹中手动移动文件既费时又烦人。相反,您可以在.ember-cli
中指定output-path
属性 以及您尝试将文件移动到的 webapps 中的位置。另一种选择是将此选项指定为ember server
或ember build