Kontakt os

På det seneste har jeg forsket efter en hurtig og enkel måde at udvikle et back office i JavaScript på, uden at skulle skrive alt fra bunden. Under min forskning fandt jeg to gode muligheder - Strapie og Ekspresadministrator.
Når vi ser på dem på forhånd, kan vi se, at den største forskel med hensyn til build-stakken er, at Strapi admin-grænsefladen er bygget med React JS. Hver mulighed fortjener dog meget mere grundig analyse for at lære deres særlige forhold at kende. Jeg vil benytte denne chance for også at give lidt information om, hvordan man konfigurerer hver og får dem til at køre problemfrit på ingen tid.

Express Admin giver dig mulighed for at oprette forbindelse til MySQL-, MariaDB-, SQLite- og PostgreSQL-databaser, men vær opmærksom på, at det er relationelt database-orienteret. Express Admin-konfigurationer udføres via JSON manuelt oprettede filer.
Dets vigtigste funktioner er:
• SQL-tabelrelationer - du kan definere alle typer tabelrelationer;
• Internationalisering er mulig;
• Evne til at oprette brugerdefinerede visninger og begivenheder;
• Alle former for biblioteker og kontroller på browsersiden;
• Tillader temaer (Bootswatch).
Jeg antager, at du allerede har både Node.js og NPM installeret på forhånd (jeg vil også foreslå brugen af NVM her):
$ [sudo] npm installation [-g] express-admin
# Kun PostgreSQL: kør dette inde i express-admin-mappen
$ npm installer pg @2 .8.2
# Kun SQLite: kør dette inde i express-admin-mappen
$ npm installer sqlite3 @2 .2.0
administratorsti/til/config/dir
Kørsel af denne kommando vil bede om databasetype, port, bruger, databasenavn, adgangskode, administratorbruger og administratoradgangskode. Bemærk, at Admin Express kræver, at du har en eksisterende database med data.

Som du kan bemærke, er din admin-grænseflade nu i gang! Bare gå til din browser og få adgang til lokal vært: 3000.

Log ind for at komme ind på hovedskærmen:

Min database har kun en tabel (produkter), men herfra kan du tilføje nye poster, slette dem eller opdatere de eksisterende. Du har en fuld råvare.

Express Admin er i stand til at læse dit skema og kortlægge det til en JSON-konfigurationsfil. Dette er en del af settings.json-filen, der var
Genereret af admin:

Som du kan se, er alle tabelfelterne defineret her. Sådan bygger Express Admin crud for hver tabel. Hvad angår databaseadgangskonfigurationerne, gemmes de inde i config.json.
Hvis du vil vide mere om Express Admin-konfigurationen, skal du bare gå til denne side og følg de anførte trin.
Express Admin giver dig også mulighed for at konfigurere relationer mellem tabeller for automatisk at oprette de korrekte felter. Du kan have en til mange, mange til mange, mange til en og en til en forhold. Bare gå til settings.json og ændre det efter dine behov. Følgende billede viser et eksempel på en til mange relationer:
For at vide mere om forhold skal du bare scanne igennem her.
Ja, det er muligt, da du har en custom.json-fil, hvor du kan konfigurere din brugerdefinerede kode:
Opret bare din brugerdefinerede app.js og en visningsfil. For at vide mere om dette skal du bare følge denne side.
Hvis du kun har brug for en admin-grænseflade med CRUD-funktionaliteter og et vist niveau af tilpasning, er Express Admin en god løsning. Som vi så før, tillader det forhold mellem tabeller, understøtter brugerdefinerede visninger og fungerer med flere databaser (kun relationelle - MySQL, MariaDB, SQLite og PostgreSQL-databaser). Efter min mening er Express Admin en god mulighed at vælge på grund af sin enkelhed og tilpasning.
Der mangler yderligere tilpasninger til instrumentbrættet, men du kan altid forkle koden og ændre den efter dine behov.
Som du helt sikkert har bemærket, er Express Admin en god admin-grænseflade og meget god for hvad den står. Forestil dig nu, at du kunne have alle disse funktioner og også være i stand til at generere en API og andre funktioner såsom brugergodkendelse og godkendelse. Det ville være dejligt, ikke? Nå, det er muligt med Strapi!
Dernæst giver jeg dig et overblik over, hvordan Strapi fungerer, og hvordan du kommer i gang med det. For yderligere information tjek Strapi dokumentation.
Lad os starte med at installere Strapi:
npm installer strapi @alpha -g
Opret derefter et nyt projekt. Du bliver bedt om databasetype, databasenavn og adgangsdata.
strapi nyt my-projekt

Før du starter projektet, skal du køre NPM-kørselsopsætningen. Så er du klar til at gå.
cd mit projekt
npm run opsætning
Strapi-start
Hvis du får adgang localhost: 1337/admin du skal kunne se skærmbilledet til oprettelse af administratorbrugere:

Opret bare din administratorbruger, og bagefter vil du blive omdirigeret til instrumentbrættet:

Lad os springe lige til de gode ting og dække, hvordan du kan oprette indhold. Du kan enten bruge „Content Type Builder“ i menuen til venstre eller generatorer. Jeg forklarer her, hvordan du bruger indholdstypebyggeren, men glem ikke også at prøve generatorerne.
Indholdstyper er simpelthen de modeller (og API), der er forbundet til din MySQL-database, der bruges af Strapi for at generere CRUD-skærme. Så lad os tilføje en ny indholdstype:

Hvad angår felterne, når du klikker på tilføj nyt felt, får du dette:

Strapi giver dig mulighed for at vælge datatype, som består i en af dens mest interessante funktioner. Lad os tilføje 2 felter (beskrivelse og pris) og klik på Gem. Det er her, tingene bliver virkelig interessante. Bare se på de genererede filer:

Fantastisk, er det ikke? Strapi har netop genereret tjenesten, modellen og controlleren til dit API, og du kan selvfølgelig altid tilpasse
dem efter dine behov.
En anden interessant funktion er evnen til at skabe relationer inden for indholdstyperne. Lad os antage endnu en indholdstype (kategori), som vi vil knytte til produktet. Når du tilføjer et felt, vælger vi relationstype og derefter:

Du er i stand til at vælge mellem en til en, en til mange og mange til mange relationstyper. Så hvis du tilføjer et produkt, vil du se, at der vises et kategorifelt.

API'en genereres automatisk, og du kan ændre koden efter dine behov.

For at give offentligheden adgang til API'en kan du indstille roller og tilladelser, hvilket er en anden cool funktion på Strapi. Det kommer ud af boksen med et plugin til styring af roller /tilladelser.

For at tillade offentlig adgang til API'en ændrer du rollen:

Hvis du har brug for en admin-grænseflade, men du også ønsker at opbygge og betjene en API, er Strapi et glimrende valg for dig. Strapis indholdstypegenerator er fremragende og vil opfylde næsten ethvert behov, du måtte have. Hvis det ikke gør det, kan du altid udvikle dine egne plugins. En anden stor funktion er rollerne/tilladelser.
Desværre er Strapi stadig under udvikling og præsenterer nogle fejl ved brug, men samfundet vokser, og det er meget aktivt på GitHub, så vi forventer altid forbedringer på det.
Afhængigt af hvad dine krav er, kan du vælge Express Admin, hvis du bare vil integrere en admin-grænseflade i din app for at administrere dine data (enkle CRUD-grænseflader) og et vist niveau af tilpasning.
Hvis dine behov inkluderer opbygning af en API, roller og brugertilladelser, så bør Strapi bestemt være dit valg.
Så vi kan sige, at begge muligheder er fremragende, og valget skal ske i henhold til dine krav.

Fandt du denne artikel interessant? Du kan måske også lide disse!

Udvikler @Imaginary Cloud, dedikeret til at skabe enestående softwareløsninger, forpligtet til innovation og omfavne banebrydende teknologier.
People who read this post, also found these interesting: