簡體   English   中英

您如何在Node + Ember應用程序中處理路由?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM