2017-07-28 54 views
1

有條件地服務聚合物es6束,es5束和非捆綁版本的選項有哪些?有條件地提供聚合物束

最佳選擇是nginx的,如果這是可能的,所以基本上如何檢測HTTP2,如果有良好的正則表達式的用戶代理檢測器ES6

回答

0

我已經找到一個解決方案:

在後端你應該定義地圖像這樣:

map $cookie_build $assets_suffix { 
    "" ""; 
    "no"    ""; 
    "es6-bundled" "build/es6-bundled/"; 
    "es6-unbundled" "build/es6-unbundled/"; 
    "es5-bundled" "build/es5-bundled/"; 
} 

和聚合物的資產位置這樣定義

東西
location /polymer-app/ { 
    alias /app/public/frontend/$assets_suffix; 
    try_files $uri $uri/ /polymer-app/index.html; 
} 

因此,默認情況下,nginx爲開發版本提供服務,並且當爲構建版本定義cookie時,它會提供適當的應用程序版本。

在客戶方

你應該檢測使用此要點https://gist.github.com/DaBs/89ccc2ffd1d435efdacff05248514f38例如瀏覽器功能或通過任何其他功能detect- *庫 那麼你應該設置相應的cookie,並呼籲window.location.reload(true)

在我的情況下,我有一個基於cms的單獨的着陸頁,所以瀏覽器檢測處理它,當用戶點擊應用程序,相應的cookie已經設置。

+0

還有一個基於用戶代理匹配的解決方案https://gitlab.techcultivation.org/sangha/sangha-frontend/issues/6 –