Krok 1: Sprawdź kompilacji produkcji: lein do clean, cljsbuild once min
Step 2: umieścić wszystko w resources/public
w miejscu publicznie dostępnym.
Oto skrypt używam w tym celu w projekcie przykładowym: https://github.com/timothypratley/whip/blob/master/deploy.sh
Zasoby HTML nie zmieni między rozwojem lokalnym i wdrażania. Jedyną rzeczą, która jest inna, są skompilowane artefakty. Możesz również wdrożyć w rzeczywistości skompilowane artefakty. Jedynym powodem, dla którego zaleca się wykonanie "kompilacji produkcyjnej", jest to, że podczas lokalnego tworzenia pośrednie pliki JS nie są łączone ze sobą, ponieważ szybciej jest załadować tylko zmieniony kod do przeglądarki. W przypadku wdrożenia, posiadanie pojedynczego skompilowanego artefaktu jest lepsze. Ten skompilowany JS może mieć zaawansowane optymalizacje lub tylko proste optymalizacje w zależności od tego, jak konfigurujesz kompilacje w swoim projekcie.clj. Nie musisz się tym martwić, po prostu tłumaczę, ponieważ zapytałeś dokładnie, jakie zmiany.
Może wydawać się dziwne, że strona HTML w ogóle się nie zmienia, więc wyjaśnijmy to nieco więcej. Strona HTML zawiera skompilowany JS, gdy uruchomisz figwheel, jeśli otworzysz ten JS zobaczysz go po kolei ładuje inne pliki JS. Ale jeśli wyjdziesz z figwheel i zrobisz czystą "produkcję", zobaczysz, że cały kod trafia do jednego pliku JS. Dość trudny huh?
Ten projekt bicza powinien dostarczyć przykład, którego szukasz, proszę dać mi znać, jeśli coś z tego jest niejasne.
Używa stron github i docelowego wdrożenia, ale znowu potrzebujesz wszystkiego w zasobach/katalogu publicznym gdzieś. Możesz więc użyć bardzo podobnego skryptu z dowolnym celem wdrożenia.
Dzięki. Naprawdę nie zainstalowałem cljsbuild, który przez jakiś czas wprawiał mnie w zakłopotanie, ale ta odpowiedź dała mi wskazówki, które potrzebowałem, aby to wszystko zrozumieć. Twoje zdrowie. – interstar
Wygląda na to, że w tym skrypcie występuje drobna literówka. Ostatnia linia poprzedzona jest "cd ../ .." (lub zastąpiona przez "rm -fr .git" - choć to przeraża, gdyby coś poszło dziwnie źle na początku skryptu, lub nawet błąd edycji w wcześniejsze linie). –
Witaj David! :) Dziękuję za wskazanie błędu. Naprawiłem to :) –