Schritt 1: Stellen Sie die Produktion Baujahr: lein do clean, cljsbuild once min
Schritt 2: alles in resources/public
in einer öffentlich zugänglichen Stelle.
Hier ist das Skript Ich benutze dies in einem Beispiel-Projekt zu tun: https://github.com/timothypratley/whip/blob/master/deploy.sh
Die HTML-Ressourcen nicht zwischen lokaler Entwicklung und dem Einsatz ändern. Das einzige, was anders ist, sind die kompilierten Artefakte. Sie können in der Tat Entwicklung kompilierte Artefakte auch gut bereitstellen. Der einzige Grund, warum ein "Production Build" empfohlen wird, ist, dass bei der lokalen Entwicklung die JS-Zwischendateien nicht zusammengefügt werden, da es schneller ist, nur den geänderten Code in den Browser zu laden. Für die Bereitstellung ist es besser, ein einzelnes kompiliertes Artefakt zu haben. Dieser einzelne kompilierte JS kann erweiterte Optimierungen oder einfach einfache Optimierungen abhängig davon haben, wie Sie die Builds in Ihrer project.clj konfigurieren. Du brauchst dir darüber keine Sorgen zu machen, ich erkläre es nur, weil du speziell gefragt hast, was sich ändert.
Es mag komisch klingen, dass sich die HTML-Seite überhaupt nicht ändert, also erklären wir das ein wenig mehr. Die HTML-Seite enthält eine kompilierte JS, wenn Sie figwheel ausführen, wenn Sie diese JS öffnen, sehen Sie diese JS-Dateien. Aber wenn Sie figwheel beenden und einen sauberen "production" -Build erstellen, werden Sie sehen, dass der gesamte Code in die JS-Datei eingeht. Ziemlich schwierig, nicht wahr?
Dieses Whip-Projekt sollte das Beispiel liefern, das Sie suchen, lassen Sie mich bitte wissen, wenn etwas davon unklar ist.
Es verwendet github pages und das Deployment-Ziel, aber Sie brauchen nur noch alles im gehosteten Ressourcen/public-Verzeichnis. Sie können also ein sehr ähnliches Skript mit jedem Bereitstellungsziel verwenden.
Danke. Ich hatte nicht wirklich cljsbuild installiert, was mich für eine Weile verwirrte, aber diese Antwort gab mir die Hinweise, die ich brauchte, um alles herauszufinden. Prost. – interstar
Sieht so aus, als ob in diesem Skript ein kleiner Tippfehler enthalten ist. Der letzten Zeile muss "cd ../ .." vorangestellt werden (oder durch "rm -fr .git" ersetzt werden - obwohl das unheimlich wirkt, sollte etwas früher im Skript bizarr falsch laufen, oder sogar ein Bearbeitungsfehler in der frühere Zeilen). –
Hallo David! :) Danke für den Hinweis auf den Fehler. Ich habe es behoben :) –