Frage

Verwenden von Ring (und den Lein -Ring -Tools) - Ich kann statische Dateien aus "Ressourcen" usw. gemäß den Dokumenten beim Ausführen in der Entwicklung erhalten - wenn ich Dinge über Lien Uberwar verpackte, habe ich keine Ahnung, wie man es macht Es serviert diese Dateien beim Ausführen in einem Container. Ich sehe widersprüchliche Dokumente zur Wrap-Ressource oder Setting: Ressourcenpfad, aber keiner scheint zu funktionieren.

War es hilfreich?

Lösung

Gemäß Kompojure Erste Schritte Wiki, stellen route/resources Unter Ihren Wegen:

(defroutes main-routes
  (GET "/" [] "<h1>Hello World Wide Web!</h1>")
  (route/resources "/")
  (route/not-found "Page not found"))

... und erstellen Sie dann einen Ordner resources/public Setzen Sie in Ihrem Projekt Ihre statischen Dateien dort ein. Wenn Sie sich auf diese Dateien beziehen, ist die /resources/public ist implizit, damit Sie so etwas schreiben können wie: (include-css "/css/site.css").

Hier ist Ein Beispiel, das sich für CloudBees bereitstellt.

Andere Tipps

compojure.route/resources sollte tun, was du willst.

Setzen Sie einfach die Dateien ein resources/public Und dann eine Route hinzufügen (resources "/") gegen Ende Ihrer Routenliste.

Sie benötigen ein ziemlich aktuelles Lein-Ring, damit dies richtig funktioniert. Ältere Versionen von Lein-Ring unterstützen das Ressourcenverzeichnis nicht für öffentliche Vermögenswerte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top