2016-07-05 24 views
5

Próba ustawienia aplikacji reagowania po stronie serwera (uniwersalnej, izomorficznej), która jest wdrażana za pośrednictwem CircleCI za pomocą Heroku dla aplikacji węzła/ekspresu i Cloudfront jako CDN.Powszechnie reagujące renderowanie za pomocą CDN i heroku

Mam problemy z konceptualizacją tego, jak to zadziała. Przepływ wydaje się całkiem prosty, z wyjątkiem kilku części. Kiedy rozmieścimy nasze zbudowane zasoby w CDN, takim jak CloudFront, w jaki sposób podłączymy je do naszego pliku index.html, który mieszka na Heroku? (ten plik indeksu jest zbudowany i jest obsługiwany z aplikacji węzła Heroku jako baza do renderowania po stronie serwera). Ale chcę, żeby zawierał linki do aktywów CDN, a nie do zasobów zbudowanych przez Heroku. (CircleCi uruchamia Webpack i tak samo robi Heroku po jego wdrożeniu)

Czy ktoś już wcześniej to robił?

+0

Oto boilerplate używać do aplikacji uniwersalnych reagować. Rozmieszcza się w heroku i może korzystać z chmury. Zamiast używać pliku index.html, jest on wdrażany w heroku, a serwer obsługuje komponent 'Html.jsx'. https://github.com/MadeInHaus/react-flux-gulp-starter –

+0

Jeśli problem dotyczy sposobu adresowania plików, utrzymywania wersji w synchronizacji i radzenia sobie z wdrażaniem, może mój [delivr] (https: // github. com/sholladay/delivr) moduł i powiązane moduły build- * pomogą. Umieszcza kod na S3 w przewidywalny, gotowy do produkcji sposób, a następnie skonfigurujesz CloudFront jako proste proxy buforowania. –

+0

Zrozumiałeś to? używasz WebPacka? –

Odpowiedz

0

Możesz użyć czegoś takiego, jak https://github.com/kossnocorp/assets-webpack-plugin, aby utworzyć plik .json, który ma katalog/nazwy twoich skompilowanych i zakotwiczonych plików pakietu Webpack. Następnie możesz użyć tego pliku .json, aby określić, jak będą wyglądały twoje tagi w html generowanym po stronie serwera.

  1. zbudować klienta boku zawiniątko z WebPack i wygenerować plik .json z nazwiskami swoich przerywanych plików
  2. budują swój pakiet po stronie serwera. odczytuje powyższy plik .json i wstrzykuje poprawnych nazw do wartości skryptów w ur html
  3. wdrożyć do Heroku/przesłać do CDN