サーチ…
http-kitで新しいリングアプリケーションを作成する
Ringは、RubyのRackとPythonのWSGIに似た、clojure HTTPアプリケーション用の事実上の標準APIです。
私たちはhttp-kitウェブサーバーでそれを使用します 。
新しいライニングプロジェクトを作成する:
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/
を開きhttp://localhost:8080/
。
Luminusによる新しいWebアプリケーション
Luminusは、一連の軽量ライブラリに基づくClojureマイクロフレームワークです。これは、堅牢でスケーラブルで使いやすいプラットフォームを提供することを目指しています。 Luminusを使用すると、気を散らすことなく、あなたが望む方法であなたのアプリを開発することに集中することができます。それはまた、いくつかのmajourトピックをカバーする非常に良い文書を持っています
ルミナスで始めるのはとても簡単です。次のコマンドで新しいプロジェクトを作成してください:
lein new luminus my-app
cd my-app
lein run
サーバーはポート3000で起動します
lein new luminus myapp
を実行すると、デフォルトのプロファイルテンプレートを使用してアプリケーションが作成されます。ただし、テンプレートにさらに機能を追加する場合は、拡張機能のプロファイルヒントを追加できます。
Webサーバー
- + aleph - プロジェクトにAlephサーバーのサポートを追加する
- + jetty - プロジェクトにJettyのサポートを追加する
- + http-kit - プロジェクトにHTTPキットWebサーバーを追加する
データベース
- + 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 - CIDER nREPLプラグインを使用してCIDERのサポートを追加する
- + cljs - [ClojureScript] [cljs]サポートをReagentに追加する
- + re-frame - [ClojureScript] [cljs]サポートにre-frameを追加する
- + cucumber - clj-webdriverによるキュウリのプロファイル
- + swagger - compojure-apiライブラリを使用してSwagger-UIのサポートを追加
- + sassc - SassCコマンドラインコンパイラを使用したSASS / SCSSファイルのサポートを追加
- +サービス - HTMLテンプレートなどのフロントエンドの定型文を使用せずにサービスアプリケーションを作成する
- + war - Apache Tomcatなどのサーバーへの展開用にWARアーカイブを構築するサポートを追加しました(WildFlyで動作するImmutantアプリケーションには使用しないでください)
- + site - 指定したデータベース(デフォルトではH2)を使用してサイトのテンプレートを作成し、ClojureScript
プロファイルを追加するには、単にアプリケーション名の後に引数として渡します。例:
lein new luminus myapp +cljs
アプリケーションの作成時に、複数のプロファイルを混在させることもできます。例:
lein new luminus myapp +cljs +swagger +postgres