Zoeken…


Maak een nieuwe Ring-applicatie met http-kit

Ring is de facto standaard API voor clojure HTTP-applicaties, vergelijkbaar met Ruby's Rack en Python's WSGI.

We gaan het gebruiken met http-kit webserver.

Maak een nieuw Leiningen-project:

lein new app myapp

Voeg http-kit afhankelijkheid toe aan project.clj :

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

Toevoegen :require voor http-kit naar core.clj :

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

Definieer ring verzoek handler. Verzoekbehandelaars zijn slechts functies van verzoek tot antwoord en antwoord is slechts een kaart:

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

Hier retourneren we gewoon 200 OK met dezelfde inhoud voor elk verzoek.

Start de server in -main :

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

Voer uit met lein run en open http://localhost:8080/ in browser.

Nieuwe webapplicatie met Luminus

Luminus is een Clojure-micro-framework op basis van een set lichtgewicht bibliotheken. Het beoogt een robuust, schaalbaar en gebruiksvriendelijk platform te bieden. Met Luminus kunt u zich concentreren op het ontwikkelen van uw app zoals u dat wilt, zonder enige afleiding. Het heeft ook zeer goede documentatie die enkele van de belangrijkste onderwerpen behandelt

Het is heel gemakkelijk om met luminus te beginnen. Maak gewoon een nieuw project met de volgende opdrachten:

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

Uw server start op poort 3000

Als u lein new luminus myapp wordt een toepassing gemaakt met de standaard profielsjabloon. Als u echter meer functionaliteit aan uw sjabloon wilt toevoegen, kunt u profielhints toevoegen voor de uitgebreide functionaliteit.

Webservers

  • + aleph - voegt Aleph-serverondersteuning toe aan het project
  • + jetty - voegt Jetty-ondersteuning toe aan het project
  • + http-kit - voegt de HTTP Kit-webserver toe aan het project

databases

  • + h2 - voegt db.core namespace en H2 db afhankelijkheden toe
  • + sqlite - voegt db.core-naamruimte en SQLite db-afhankelijkheden toe
  • + postgres - voegt de naamruimte db.core toe en voegt afhankelijkheden van PostreSQL toe
  • + mysql - voegt db.core-naamruimte toe en voegt MySQL-afhankelijkheden toe
  • + mongodb - voegt db.core-naamruimte en MongoDB-afhankelijkheden toe
  • + datomic - voegt db.core namespace en Datomic afhankelijkheden toe

Diversen

  • + auth - voegt buddy-afhankelijkheid en authenticatiemiddleware toe
  • + auth-jwe - voegt Buddy-afhankelijkheid toe met de JWE-backend
  • + cider - voegt ondersteuning toe voor CIDER met behulp van CIDER nREPL plug-in
  • + cljs - voegt [ClojureScript] [cljs] ondersteuning toe met Reagent
  • + re-frame - voegt [ClojureScript] [cljs] ondersteuning toe met re-frame
  • + komkommer - een profiel voor komkommer met clj-webdriver
  • + swagger - voegt ondersteuning toe voor Swagger-UI met behulp van de compojure-api-bibliotheek
  • + sassc - voegt ondersteuning toe voor SASS / SCSS-bestanden met behulp van de SassC-opdrachtregelcompiler
  • + service - maak een servicetoepassing zonder de front-end boilerplate zoals HTML-sjablonen
  • + oorlog - voeg ondersteuning toe voor het bouwen van WAR-archieven voor implementatie op servers zoals Apache Tomcat (mag NIET worden gebruikt voor Immutant-apps die op WildFly draaien)
  • + site - maakt een sjabloon voor een site met behulp van de opgegeven database (standaard H2) en ClojureScript

Om een profiel toe te voegen, geeft u het gewoon door als argument achter de naam van uw toepassing, bijvoorbeeld:

lein new luminus myapp +cljs

U kunt ook meerdere profielen combineren bij het maken van de applicatie, bijvoorbeeld:

lein new luminus myapp +cljs +swagger +postgres


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow