수색…
http-kit를 사용하여 새 링 응용 프로그램 만들기
Ring 은 Clojure HTTP 애플리케이션을위한 사실상의 표준 API이다. Ruby 's Rack과 Python의 WSGI와 유사하다.
우리는 http-kit 웹 서버와 함께 사용할 것입니다.
새로운 Leiningen 프로젝트 만들기 :
lein new app myapp
project.clj
http-kit 의존성을 추가하십시오.
:dependencies [[org.clojure/clojure "1.8.0"]
[http-kit "2.1.18"]]
추가 :require
core.clj
에 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/
lein run
.
Luminus와 새로운 웹 응용 프로그램
Luminus 는 일련의 경량 라이브러리를 기반으로하는 Clojure 마이크로 프레임 워크입니다. 강력하고 확장 가능하며 사용하기 쉬운 플랫폼을 제공하는 것을 목표로합니다. Luminus를 사용하면 방해받지 않고 원하는 방식으로 앱을 개발하는 데 집중할 수 있습니다. 그것은 또한 majour 몇 가지 주제를 다루는 아주 좋은 문서를 가지고 있습니다.
그것은 luminus로 시작하는 것은 매우 쉽습니다. 다음 명령을 사용하여 새 프로젝트를 만드십시오.
lein new luminus my-app
cd my-app
lein run
서버가 포트 3000에서 시작됩니다.
lein new luminus myapp
실행하면 기본 프로필 템플릿을 사용하여 응용 프로그램이 만들어집니다. 그러나 템플릿에 추가 기능을 추가하려는 경우 확장 기능에 대한 프로필 힌트를 추가 할 수 있습니다.
웹 서버
- + aleph - Aleph 서버 지원을 프로젝트에 추가합니다.
- + 부두 - 프로젝트에 부두 지원 추가
- + http-kit - HTTP Kit 웹 서버를 프로젝트에 추가합니다.
데이터베이스
- + h2 - db.core 네임 스페이스 및 H2 db 종속성을 추가합니다.
- + sqlite - db.core 네임 스페이스 및 SQLite db 종속성 추가
- + postgres - db.core 네임 스페이스를 추가하고 PostreSQL 의존성을 추가합니다.
- + mysql - db.core 네임 스페이스를 추가하고 MySQL 의존성을 추가합니다.
- + mongodb - db.core 네임 스페이스 및 MongoDB 종속성 추가
- + datomic - db.core 네임 스페이스와 Datomic 의존성을 추가합니다.
여러 가지 잡다한
- + auth - 버디 종속성 및 인증 미들웨어를 추가합니다.
- + auth-jwe - JWE 백엔드에 대한 버디 종속성을 추가합니다.
- + 사이다 - CIDER nREPL 플러그인을 사용하여 CIDER에 대한 지원을 추가합니다.
- + cljs - [ClojureScript] [cljs] 지원을 시약 과 함께 추가합니다.
- + re-frame - [ClojureScript] [cljs] 지원에 리 프레임 추가
- + 오이 - clj-webdriver와 함께 오이의 프로필
- + swagger - compojure-api 라이브러리를 사용하여 Swagger-UI에 대한 지원을 추가합니다.
- + sassc - SassC 명령 행 컴파일러를 사용하여 SASS / SCSS 파일에 대한 지원을 추가합니다.
- + service - HTML 템플릿과 같은 프런트 엔드 상용구없이 서비스 응용 프로그램 만들기
- + war - Apache Tomcat과 같은 서버에 배포하기 위해 WAR 아카이브를 빌드하는 지원을 추가합니다 (WildFly에서 실행되는 Immutant 앱에는 사용하지 말아야 함)
- + site - 지정된 데이터베이스 (기본적으로 H2)와 ClojureScript를 사용하여 사이트 용 템플릿을 만듭니다.
프로필을 추가하려면 단순히 응용 프로그램 이름 뒤에 인수로 전달하십시오. 예 :
lein new luminus myapp +cljs
응용 프로그램을 만들 때 여러 프로필을 혼합 할 수도 있습니다 (예 :
lein new luminus myapp +cljs +swagger +postgres