clojure
वेब विकास के साथ शुरुआत करना
खोज…
Http-kit के साथ नया रिंग एप्लिकेशन बनाएं
रूबी के रैक और पायथन के WSGI के समान, क्लोजर HTTP एप्लिकेशन के लिए रिंग डी-फैक्टो स्टैंडर्ड एपीआई है।
हम इसका उपयोग http-kit वेबसर्वर के साथ करने जा रहे हैं।
नई लेनिंगन परियोजना बनाएं:
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 ओके वापस करते हैं।
-main
फ़ंक्शन सर्वर शुरू करें:
(defn -main
[& args]
(run-server app {:port 8080}))
lein run
रन के साथ lein run
और ब्राउज़र में http://localhost:8080/
खोलें।
लुमिनस के साथ नया वेब अनुप्रयोग
ल्यूमिनेन्स एक क्लोजर माइक्रो-फ्रेमवर्क है जो हल्के पुस्तकालयों के एक सेट पर आधारित है। इसका उद्देश्य एक मजबूत, स्केलेबल और आसान प्लेटफॉर्म प्रदान करना है। ल्यूमिनस के साथ आप अपने ऐप को विकसित करने पर ध्यान केंद्रित कर सकते हैं। इसके पास बहुत अच्छे दस्तावेज भी हैं जो कुछ राजसी विषयों को शामिल करते हैं
ल्यूमिनस के साथ शुरू करना बहुत आसान है। बस निम्नलिखित कमांड के साथ एक नया प्रोजेक्ट बनाएं:
lein new luminus my-app
cd my-app
lein run
आपका सर्वर 3000 पोर्ट पर शुरू होगा
रनिंग lein new luminus myapp
डिफॉल्ट प्रोफाइल टेम्प्लेट का उपयोग करके एक एप्लिकेशन बनाएगा। हालाँकि, यदि आप अपने टेम्प्लेट को और कार्यक्षमता देना चाहते हैं, तो आप विस्तारित कार्यक्षमता के लिए प्रोफ़ाइल संकेत संलग्न कर सकते हैं।
वेब सर्वर
- + aleph - प्रोजेक्ट में Aleph सर्वर समर्थन जोड़ता है
- + जेटी - परियोजना में जेटी समर्थन जोड़ता है
- + http-kit - प्रोजेक्ट में HTTP किट वेब सर्वर जोड़ता है
डेटाबेस
- + h2 - db.core नाम स्थान और H2 db निर्भरता जोड़ता है
- + sqlite - db.core नाम स्थान और SQLite db निर्भरता जोड़ता है
- + postgres - db.core नामस्थान जोड़ता है और PostreSQL निर्भरताएँ जोड़ता है
- + mysql - db.core नेमस्पेस जोड़ता है और MySQL निर्भरताएँ जोड़ता है
- + mongodb - db.core नामस्थान और MongoDB निर्भरता जोड़ता है
- + डेटाोमिक - db.core नामस्थान और डेटाोमिक निर्भरता जोड़ता है
विविध
- + सामान्य - बडी निर्भरता और प्रमाणीकरण मिडलवेयर जोड़ता है
- + ऑर्ट-जेवी - JWE बैकएंड के साथ बडी निर्भरता को जोड़ता है
- + साइडर - CIDER के लिए CIDER nREPL प्लगइन का उपयोग करके समर्थन जोड़ता है
- + cljs - Reagent के साथ [ClojureScript] [cljs] सपोर्ट जोड़ता है
- + फिर से फ्रेम - कहते हैं [ClojureScript] के साथ [cljs] समर्थन फिर से फ्रेम
- + ककड़ी - clj-webdriver के साथ ककड़ी के लिए एक प्रोफ़ाइल
- + स्वैगर - कंपोजर-एपीआई लाइब्रेरी का उपयोग करके स्वैगर-यूआई के लिए समर्थन जोड़ता है
- + sassc - SassC कमांड लाइन कंपाइलर का उपयोग करके SASS / SCSS फ़ाइलों के लिए समर्थन जोड़ता है
- + सेवा - HTML टेम्पलेट जैसे फ्रंट-एंड बॉयलरप्लेट के बिना एक सेवा एप्लिकेशन बनाएं
- + युद्ध - अपाचे टोमैट जैसे सर्वरों की तैनाती के लिए डब्ल्यूएआर अभिलेखागार के निर्माण का समर्थन जोड़ें (वाइल्डली पर चलने वाले इम्युनेंट ऐप्स के लिए इसका उपयोग नहीं किया जाना चाहिए)
- + साइट - निर्दिष्ट डेटाबेस (डिफ़ॉल्ट रूप से H2) और क्लोजुरस्क्रिप्ट का उपयोग करके साइट के लिए टेम्पलेट बनाता है
एक प्रोफ़ाइल जोड़ने के लिए बस इसे अपने आवेदन नाम के बाद एक तर्क के रूप में पास करें, जैसे:
lein new luminus myapp +cljs
एप्लिकेशन बनाते समय आप कई प्रोफाइल भी मिला सकते हैं:
lein new luminus myapp +cljs +swagger +postgres