Szukaj…


Utwórz nową aplikację Ring z zestawem http

Pierścień jest de facto standardowym interfejsem API dla aplikacji HTTP clojure, podobnie jak Rack Ruby i WSGI Pythona.

Będziemy go używać z serwerem WWW http-kit .

Utwórz nowy projekt Leiningen:

lein new app myapp

Dodaj zależność http-kit do project.clj :

  :dependencies [[org.clojure/clojure "1.8.0"]
                 [http-kit "2.1.18"]]

Dodaj :require dla zestawu http do core.clj :

(ns test.core
  (:gen-class)
  (:require [org.httpkit.server :refer [run-server]]))

Zdefiniuj moduł obsługi żądań pierścienia. Procedury obsługi żądań to tylko funkcje od żądania do odpowiedzi, a odpowiedź to tylko mapa:

(defn app [req]
  {:status  200
   :headers {"Content-Type" "text/html"}
   :body    "hello HTTP!"})

Tutaj po prostu zwracamy 200 OK z taką samą treścią dla każdego żądania.

Uruchom serwer w -main funkcji:

(defn -main
  [& args]
  (run-server app {:port 8080}))

Uruchom z lein run i otwórz http://localhost:8080/ w przeglądarce.

Nowa aplikacja internetowa z Luminus

Luminus to mikroukład Clojure oparty na zestawie lekkich bibliotek. Ma na celu zapewnienie solidnej, skalowalnej i łatwej w użyciu platformy. Dzięki Luminus możesz skupić się na rozwijaniu aplikacji tak, jak chcesz, bez żadnych zakłóceń. Ma również bardzo dobrą dokumentację, która obejmuje niektóre z głównych tematów

Bardzo łatwo jest zacząć od światła. Po prostu utwórz nowy projekt za pomocą następujących poleceń:

lein new luminus my-app
cd my-app
lein run

Twój serwer uruchomi się na porcie 3000

Uruchamianie lein new luminus myapp spowoduje utworzenie aplikacji przy użyciu domyślnego szablonu profilu. Jeśli jednak chcesz dołączyć do szablonu dodatkowe funkcje, możesz dołączyć wskazówki dotyczące profilu dla rozszerzonej funkcjonalności.

Serwery WWW

  • + aleph - dodaje obsługę projektu serwera Aleph do projektu
  • + jetty - dodaje obsługę Jetty do projektu
  • + http-kit - dodaje serwer WWW HTTP Kit do projektu

bazy danych

  • + h2 - dodaje przestrzeń nazw db.core i H2 db
  • + sqlite - dodaje przestrzeń nazw db.core i SQLite db
  • + postgres - dodaje przestrzeń nazw db.core i dodaje zależności PostreSQL
  • + mysql - dodaje przestrzeń nazw db.core i dodaje zależności MySQL
  • + mongodb - dodaje przestrzeń nazw db.core i zależności MongoDB
  • + datomic - dodaje przestrzeń nazw db.core i zależności Datomic

Różne

  • + auth - dodaje oprogramowanie pośredniczące zależności i uwierzytelniania Buddy
  • + auth-jwe - dodaje zależność Buddy od backendu JWE
  • + cydr - dodaje obsługę CIDER za pomocą wtyczki CIDER nREPL
  • + cljs - dodaje obsługę [ClojureScript] [cljs] z Odczynnikiem
  • + re-frame - dodaje obsługę [ClojureScript] [cljs] z re-frame
  • + ogórek - profil do ogórka z clj-webdriver
  • + swagger - dodaje obsługę interfejsu Swagger-UI przy użyciu biblioteki compojure-api
  • + sassc - dodaje obsługę plików SASS / SCSS przy użyciu kompilatora wiersza poleceń SassC
  • + service - stwórz aplikację serwisową bez frontonu, np. szablony HTML
  • + wojna - dodaj obsługę budowania archiwów WAR do wdrażania na serwerach takich jak Apache Tomcat (NIE powinien być używany w aplikacjach Immutant działających na WildFly)
  • + site - tworzy szablon dla strony przy użyciu określonej bazy danych (domyślnie H2) i ClojureScript

Aby dodać profil, wystarczy przekazać go jako argument po nazwie aplikacji, np .:

lein new luminus myapp +cljs

Podczas tworzenia aplikacji możesz także mieszać wiele profili, np .:

lein new luminus myapp +cljs +swagger +postgres


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow