[英]How do you handle routing when your application uses client and server side mvc frameworks?
[英]How do you handle routing in a Node + Ember application?
我有一個Node + Ember應用程序。 我遇到了圍繞路線的問題。 Node和Ember都可以處理路由,我有一些我希望Node處理的路由,但是有些我希望Ember處理。 例如,當頁面加載時,Node的路由器啟動,因此我在Ember中聲明的任何路由都是無用的。
假設我在Ember JS中有一條稱為“設置”的路由。 當我從Ember的另一個視圖使用{{#link-to}}幫助程序導航到“ http://myapp.com/settings ”時,可以看到此頁面。 但是,一旦我進入該頁面並點擊重新加載,我就會得到一個404,因為調用了Node的路由器,並且該路由未在Node中聲明。 我該如何解決?
我不使用節點,但我想這個概念對您和我的應用程序可能是相同的(我正在使用Java Spring)。 您應該修改到app.get('/*')
路由,或者在節點中使用通配符並返回Ember的index.html。 因此,基本上,/之下的所有網址都可以獲取Ember應用程序,而不僅僅是/ route
其余部分由灰燼處理。 看一下該線程(它用於nginx,但原理再次相同): http : //discuss.emberjs.com/t/how-to-serve-all-routes-on-a-production-server-恰好/二分之六千三百七十二
萬一將來某個時候該鏈接斷開,以下是有用的nginx配置,該配置重寫/下的所有規則,但帶有ember index.html頁面的assets
除外:
server {
listen 80 default;
server_name my.domain.com;
root /path/to/app/root;
location / {
rewrite ^ /index.html break;
}
location /assets/ {
# do nothing and let nginx handle this as usual
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.