Поиск…


Создайте новое приложение Ring с помощью http-kit

Кольцо является стандартным стандартным API для HTTP-приложений clojure, подобных Ruby's Rack и WSGI Python.

Мы будем использовать его с веб - сервером http-kit .

Создайте новый проект Leiningen:

lein new app myapp

Добавьте зависимость http-kit к project.clj :

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

Добавить :require для http-kit к core.clj :

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

Определить обработчик запроса кольца. Обработчики запросов - это просто функции от запроса до ответа, а ответ - это просто карта:

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

Здесь мы просто возвращаем 200 OK с тем же контентом для любого запроса.

Запустите сервер в -main функции:

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

Запустите с lein run и откройте http://localhost:8080/ в браузере.

Новое веб-приложение с Luminus

Luminus - это микроструктура Clojure, основанная на наборе легких библиотек. Он предназначен для обеспечения надежной, масштабируемой и простой в использовании платформы. С Luminus вы можете сосредоточиться на разработке своего приложения так, как хотите, без каких-либо отвлекающих факторов. Он также имеет очень хорошую документацию, которая охватывает некоторые из главных тем

Легко начать с люминуса. Просто создайте новый проект со следующими командами:

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

Ваш сервер запустится на порт 3000

Запуск lein new luminus myapp создаст приложение, используя шаблон профиля по умолчанию. Однако, если вы хотите добавить дополнительную функциональность к своему шаблону, вы можете добавить подсказки профиля для расширенной функциональности.

Веб-серверы

  • + aleph - добавляет поддержку сервера Aleph проекту
  • + jetty - добавляет поддержку Jetty проекту
  • + http-kit - добавляет веб-сервер HTTP Kit к проекту

базы данных

  • + h2 - добавляет пространство имен db.core и зависимости H2 db
  • + sqlite - добавляет пространство имен db.core и SQL-зависимые зависимости
  • + postgres - добавляет пространство имен db.core и добавляет зависимости PostreSQL
  • + mysql - добавляет пространство имен db.core и добавляет зависимости MySQL
  • + mongodb - добавляет пространство имен db.core и зависимости MongoDB
  • + datomic - добавляет пространство имен db.core и Datomic зависимостей

разнообразный

  • + auth - добавляет зависимое от Buddy и промежуточное ПО для проверки подлинности
  • + auth-jwe - добавляет зависимость Бадди с бэкэндом JWE
  • + сидр - добавляет поддержку CIDER с использованием плагина CIDER nREPL
  • + cljs - добавляет поддержку [ClojureScript] [cljs] с реагентом
  • + re-frame - добавляет поддержку [ClojureScript] [cljs] с повторным кадром
  • + огурец - профиль для огурца с clj-webdriver
  • + swagger - добавляет поддержку Swagger-UI, используя библиотеку compojure-api
  • + sassc - добавляет поддержку файлов SASS / SCSS с использованием компилятора командной строки SassC
  • + service - создать сервисное приложение без шаблона front-end, например, HTML-шаблонов
  • + war - добавьте поддержку создания WAR-архивов для развертывания на таких серверах, как Apache Tomcat (НЕ должны использоваться для приложений Immutant, работающих на WildFly)
  • + сайт - создает шаблон для сайта, используя указанную базу данных (по умолчанию H2) и ClojureScript

Чтобы добавить профиль, просто передайте его в качестве аргумента после имени вашего приложения, например:

lein new luminus myapp +cljs

Вы также можете смешивать несколько профилей при создании приложения, например:

lein new luminus myapp +cljs +swagger +postgres


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow