Próbuję znaleźć najlepszy sposób na załadowanie zmiennych środowiskowych do mojej aplikacji AngularJS. Obecnie używam stałych, które pobierają swoje wartości z wartości zdefiniowanych w pakiecie Webpack definePlugin
. Powoduje to jednak problem z Heroku, ponieważ kod jest budowany po przeniesieniu do etapu przemieszczania, a gdy jest promowany do produkcji, nie jest on przebudowywany, dlatego stałe pakiety WWW definePlugin
są zmiennymi środowiskowymi przemieszczania.Aplikacja kątowa na Heroku zbudowana przy użyciu Webpacka - zmienne środowiskowe?
Przyjrzałem się prośbie o zmienne środowiskowe z mojego interfejsu API w czasie wykonywania, a następnie ustawiałem je jako stałe, które będą używane w moim interfejsie użytkownika, ale nie mogę określić, jak ustawić stałe programowo poza początkowym .constant(..)
okazja.
Jeśli ktoś zna jakieś inne lepsze praktyki związane z ładowaniem zmiennych środowiskowych do front-endu podczas korzystania z Webpack (a nie z Grunt), proszę dać mi znać.
Czy tak też się stanie, jeśli aplikacja zostanie losowo zrestartowana z jakiegoś powodu? To bardzo czysta opcja, ale nie jestem pewna, jak niebezpieczna jest. –
Ta opcja uruchamia się przy każdym uruchomieniu npm. Tak więc, na Heroku oznacza to, że za każdym razem, gdy aplikacja odtwarza lub uruchamia się ponownie z dowolnego innego powodu (np. Gdy zmieniasz zmienne środowiskowe, promujesz z jednej potokowej aplikacji do drugiej itd.). –
Jednak, jak już wspomniano, to rozwiązanie zwiększa przestoje w twoich dynosach podczas recyklingu itp. Musisz się upewnić, że to nie jest problem dla twojej aplikacji. Oczywiście istnieją sposoby obejścia tego problemu (np. Patrz https://devcenter.heroku.com/articles/preboot), ale musisz mieć świadomość ich konsekwencji. –