サーチ…


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


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow