Sök…


Skapa en ny Ring-applikation med http-kit

Ring är de facto standard API för clojure HTTP-applikationer, liknande Ruby's Rack och Pythons WSGI.

Vi kommer att använda det med http-kit webbserver.

Skapa nytt Leiningen-projekt:

lein new app myapp

Lägg till http-kit-beroende till project.clj :

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

Lägg till :require för http-kit till core.clj :

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

Definiera ringbegäran. Begäran är bara funktioner från förfrågan till svaret och svaret är bara en karta:

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

Här returnerar vi bara 200 OK med samma innehåll för varje begäran.

Starta servern i -main funktionen:

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

Kör med lein run och öppna http://localhost:8080/ i webbläsaren.

Ny webbapplikation med Luminus

Luminus är ett Clojure-mikroramverk baserat på en uppsättning av lätta bibliotek. Det syftar till att tillhandahålla en robust, skalbar och lättanvänd plattform. Med Luminus kan du fokusera på att utveckla din app som du vill utan några distraktioner. Den har också mycket bra dokumentation som täcker några av de stora ämnena

Det är väldigt lätt att börja med luminus. Skapa bara ett nytt projekt med följande kommandon:

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

Din server startar på port 3000

Att köra lein new luminus myapp skapar ett program med standardprofilmallen. Men om du vill knyta ytterligare funktionalitet till din mall kan du lägga till profiltips för den utökade funktionaliteten.

Webbservrar

  • + aleph - lägger till Aleph-serverstöd till projektet
  • + brygga - lägger till bryggans stöd till projektet
  • + http-kit - lägger till HTTP Kit webbserver till projektet

databaser

  • + h2 - lägger till db.core-namnutrymme och H2 db-beroenden
  • + sqlite - lägger till db.core-namnutrymme och SQLite db-beroenden
  • + postgres - lägger till db.core-namnutrymme och lägger till PostreSQL-beroenden
  • + mysql - lägger till db.core-namnutrymme och lägger till MySQL-beroenden
  • + mongodb - lägger till db.core-namnutrymme och MongoDB-beroenden
  • + datomic - lägger till db.core-namnutrymme och Datomic-beroenden

diverse

  • + Author - lägger till kompisberoende och mellanprogram för autentisering
  • + autor-jwe - lägger till kompisberoende med JWE-backend
  • + cider - lägger till stöd för CIDER med CIDER nREPL-plugin
  • + cljs - lägger till [ClojureScript] [cljs] -stöd med Reagent
  • + re-frame - lägger till [ClojureScript] [cljs] -stöd med re-frame
  • + gurka - en profil för gurka med clj-webbdrivare
  • + swagger - lägger till stöd för Swagger-UI med hjälp av compojure-api-biblioteket
  • + sassc - lägger till stöd för SASS / SCSS-filer med SassC-kommandoradskompilator
  • + service - skapa en serviceapplikation utan den främre pannplattan, t.ex. HTML-mallar
  • + war - lägg till stöd för att bygga WAR-arkiv för distribution till servrar som Apache Tomcat (ska INTE användas för Immutant-appar som körs på WildFly)
  • + site - skapar mall för webbplats med den angivna databasen (H2 som standard) och ClojureScript

För att lägga till en profil helt enkelt skicka den som ett argument efter ditt applikationsnamn, t.ex.

lein new luminus myapp +cljs

Du kan också blanda flera profiler när du skapar applikationen, t.ex.:

lein new luminus myapp +cljs +swagger +postgres


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow