Grundlæggende om Leiningen og Deps.edn
Forstå det grundlæggende i Leiningen og Deps.edn til projektoprettelse, afhængighedshåndtering og automatisering af opgaver.
Grundlæggende om Leiningen og Deps.edn er en gratis Funktionel programmering i Clojure og backendudvikling på JVM-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Funktionel programmering i Clojure og backendudvikling på JVM, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Funktionel programmering i Clojure og backendudvikling på JVM-kurset indeholder 4 lektioner i alt.
Hvorfor Clojure har brug for build-værktøjer
I Clojure er build-værktøjer afgørende for at automatisere opgaver som håndtering af afhængigheder, kompilering af kode, kørsel af tests og pakning af din applikation. De forenkler opsætningen af projekter og sikrer ensartethed.
Uden dem skulle du manuelt downloade biblioteker, opsætte classpaths og starte JVM'en, hvilket hurtigt bliver besværligt for alle andre end helt enkle projekter.
Leiningen: Clojures arbejdshest
Leiningen er et populært og modent værktøj til build-automatisering af Clojure-projekter. Det er inspireret af Maven og håndterer alt fra oprettelse af nye projekter til implementering af dem.
Dets primære konfigurationsfil er project.clj, som selv er en Clojure-datastruktur, hvilket gør den meget fleksibel.
Oprettelse af et Leiningen-projekt
Du kan oprette et nyt Leiningen-applikationsprojekt med kommandoen lein new. Kommandoen genererer hurtigt en standardmappestruktur med grundlæggende kode.
Kør denne kommando i din terminal:
lein new app my-lein-appIndholdet af project.clj
Filen project.clj definerer dit projekts metadata og konfiguration. Vigtige elementer omfatter:
:dependencies: En liste over de eksterne biblioteker, som dit projekt har brug for.:main: Angiver applikationens primære startpunkt.:version: Dit projekts aktuelle version.
Filen er skrevet med Clojure-syntaks, hvilket giver mulighed for effektive, dynamiske konfigurationer.
(defproject my-lein-app "0.1.0-SNAPSHOT"
:description "A sample Leiningen project."
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.11.1"]]
:main ^:skip-aot my-lein-app.core
:target-path "target/%s")Første kørsel med Leiningen
Efter du har oprettet dit projekt, giver Leiningen dig en nem måde at køre din applikation på. Kommandoen lein run udfører den hovedfunktion, der er angivet i project.clj.
Her er standardindholdet i core.clj, som lein new app genererer. Prøv at køre det!
(ns my-lein-app.core
(:gen-class))
(defn -main
"The entry point for our Leiningen app."
[& args]
(println "Hello from Leiningen!"))Deps.edn: Det officielle værktøj
deps.edn er Clojures officielle og mere lette værktøj til håndtering af afhængigheder og build-processer, introduceret med Clojure 1.9. Det fokuserer udelukkende på håndtering af afhængigheder og classpaths.
Det bruger EDN (Extensible Data Notation), en delmængde af Clojure, til konfigurationen, hvilket gør den meget læsevenlig og nem at parse.
Opsætning af et Deps.edn-projekt
I modsætning til Leiningen har deps.edn ikke en new-kommando til at oprette projektets grundstruktur. Du opretter typisk selv de nødvendige filer og mapper.
Et minimalt projekt kræver en deps.edn-fil i projektets rodmappe samt en kildekodemappe (f.eks. src) til din kode.
Indholdet af deps.edn
Filen deps.edn definerer dit projekts afhængigheder og kildekodestier. Vigtige elementer omfatter:
:paths: En vektor med mapper, hvor din kildekode er placeret.:deps: Et map med eksterne biblioteker og deres versioner, typisk ved hjælp af Maven-koordinater.
Den er enklere end project.clj og fokuserer på opbygning af classpathen.
{:paths ["src"]
:deps {org.clojure/clojure {:mvn/version "1.11.1"}
org.clojure/tools.cli {:mvn/version "1.0.206"}}}Første kørsel med Deps.edn
Hvis du vil køre et deps.edn-projekt, bruger du kommandoen clj (Clojures CLI-værktøj). Du angiver det primære namespace med -m.
Her er en enkel core.clj-fil, som kan køres med clj -m my-deps-app.core. Prøv den!
(ns my-deps-app.core
(:gen-class))
(defn -main
"The entry point for our deps.edn app."
[& args]
(println "Hello from deps.edn!"))Leiningen sammenlignet med Deps.edn
Både Leiningen og deps.edn er fremragende værktøjer, men de bygger på lidt forskellige tilgange:
- Leiningen: En samlet projektmanager med omfattende plugin-understøttelse til forskellige opgaver (test, implementering osv.).
deps.edn: Et enklere og mere fokuseret værktøj til håndtering af afhængigheder og classpaths, som ofte bruges sammen med andre CLI-værktøjer til specifikke opgaver.
Mange moderne Clojure-projekter bruger deps.edn på grund af enkelheden og den direkte tilgang, nogle gange sammen med Leiningen.
Test af viden om build-værktøjer
Overvej det grundlæggende formål med og konfigurationstilgangen i Leiningen og deps.edn.
Opsummering: Grundlæggende om Leiningen og Deps.edn
Vi har gennemgået det grundlæggende i Clojures to primære build-værktøjer:
- Leiningen: Et værktøj med mange funktioner, der bruger
project.cljtil konfiguration og tilbyder projektoprettelse og automatisering af opgaver. deps.edn: Et let og officielt værktøj, der brugerdeps.edntil håndtering af classpaths og afhængigheder, typisk sammen med CLI-værktøjetclj.
Begge er afgørende for effektiv håndtering af Clojure-projekter, og de giver dig mulighed for at vælge ud fra dit projekts behov.
Lær Clojure med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Grundlæggende om Leiningen og Deps.edn” gratis?
Ja — hele teksten til “Grundlæggende om Leiningen og Deps.edn” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Funktionel programmering i Clojure og backendudvikling på JVM-kurset, skal du opgradere til CoddyKit PRO. Funktionel programmering i Clojure og backendudvikling på JVM-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Grundlæggende om Leiningen og Deps.edn”?
Forstå det grundlæggende i Leiningen og Deps.edn til projektoprettelse, afhængighedshåndtering og automatisering af opgaver. Du øver dig i Funktionel programmering i Clojure og backendudvikling på JVM med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Funktionel programmering i Clojure og backendudvikling på JVM?
Der kræves ingen tidligere erfaring. Funktionel programmering i Clojure og backendudvikling på JVM på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Grundlæggende om Leiningen og Deps.edn”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Funktionel programmering i Clojure og backendudvikling på JVM-lektion?
Ja. Alle Funktionel programmering i Clojure og backendudvikling på JVM-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Grundlæggende om Leiningen og Deps.edn
- Håndtering af afhængigheder og plugins
- Build, test og deployment
- Håndtering af profiler, aliaser og miljøer