Buscar..


Crea una nueva aplicación de anillo con http-kit

Ring es una API estándar de facto para aplicaciones HTTP, similares a Ruby's Rack y al WSGI de Python.

Vamos a usarlo con el servidor web http-kit .

Crear nuevo proyecto Leiningen:

lein new app myapp

Agregue la dependencia de http-kit a project.clj :

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

Agregue :require para http-kit a core.clj :

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

Definir controlador de solicitud de anillo. Los manejadores de solicitudes son solo funciones de solicitud a respuesta y la respuesta es solo un mapa:

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

Aquí acabamos de devolver 200 OK con el mismo contenido para cualquier solicitud.

Inicie el servidor en la función -main :

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

Ejecute con lein run y abra http://localhost:8080/ en el navegador.

Nueva aplicación web con Luminus.

Luminus es un micro-marco Clojure basado en un conjunto de bibliotecas ligeras. Su objetivo es proporcionar una plataforma robusta, escalable y fácil de usar. Con Luminus, puedes concentrarte en desarrollar tu aplicación de la manera que quieras sin distracciones. También tiene muy buena documentación que cubre algunos de los principales temas.

Es muy fácil empezar con luminus. Solo crea un nuevo proyecto con los siguientes comandos:

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

Su servidor se iniciará en el puerto 3000

Al ejecutar lein new luminus myapp se creará una aplicación utilizando la plantilla de perfil predeterminada. Sin embargo, si desea adjuntar más funciones a su plantilla, puede agregar sugerencias de perfil para la funcionalidad extendida.

Servidores web

  • + aleph - agrega soporte del servidor Aleph al proyecto
  • + embarcadero - agrega soporte de embarcadero al proyecto
  • + http-kit - agrega el servidor web HTTP Kit al proyecto

bases de datos

  • + h2: agrega las dependencias db.core namespace y H2 db
  • + sqlite - agrega las dependencias db.core namespace y SQLite db
  • + postgres: agrega el espacio de nombres db.core y agrega las dependencias de PostreSQL
  • + mysql: agrega el espacio de nombres db.core y agrega las dependencias de MySQL
  • + mongodb - agrega las dependencias de espacio de nombres db.core y MongoDB
  • + datomic - agrega espacio de nombres db.core y dependencias de Datomic

diverso

  • + auth - agrega middleware de autenticación y dependencia de Buddy
  • + auth-jwe: agrega la dependencia de Buddy con el backend de JWE
  • + sidra - agrega soporte para CIDER usando el complemento CIDER nREPL
  • + cljs - agrega soporte de [ClojureScript] [cljs] con reactivo
  • + re-marco - añade [ClojureScript] [cljs] soporte con re-marco
  • + pepino - un perfil para pepino con clj-webdriver
  • + swagger - agrega soporte para Swagger-UI usando la biblioteca compojure-api
  • + sassc - agrega soporte para archivos SASS / SCSS usando el compilador de línea de comandos SassC
  • + servicio: cree una aplicación de servicio sin la placa del final como las plantillas HTML
  • + war: agregue el soporte para crear archivos WAR para su implementación en servidores como Apache Tomcat (NO se debe usar para las aplicaciones Immutant que se ejecutan en WildFly)
  • + sitio: crea una plantilla para el sitio utilizando la base de datos especificada (H2 de forma predeterminada) y ClojureScript

Para agregar un perfil, simplemente páselo como argumento después del nombre de su aplicación, por ejemplo:

lein new luminus myapp +cljs

También puede mezclar varios perfiles al crear la aplicación, por ejemplo:

lein new luminus myapp +cljs +swagger +postgres


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow