Deel dit artikel:

Blog
Aug 22, 20234 min read

De websites van de luchthavens van Varna en Burgas gebruiken React-componenten in Drupal

De websites van de luchthavens van Varna en Burgas gebruiken React-componenten in Drupal

Hoe hebben we uiteindelijk React nodig gekregen?

Bij Bulcode zijn we allemaal ♥ Drupal, maar toen we voor het eerst de ondersteuning van de websites van de luchthavens Varna en Burgas overnamen, erfden we Drupal 8-systemen die waren gemaakt op een manier die niet zo Drupal was. Daarom was de migratie/herontwikkeling van Drupal 9 de eerste horde. Ter referentie kun je dit artikel bekijken waarin de voordelen van migratie worden uitgelegd, evenals de kosten van niets doen als je nog steeds een upgrade (migratie) overweegt.

Wat maakt het precies een uitdaging? De migratie (of upgrade) van Drupal 8 naar Drupal 9 is volgens alle informatiebronnen een grotendeels geautomatiseerd proces. Dit is niet altijd het geval bij de meeste websites, vooral als ze verouderd zijn met de meest recente core en module contrib versies van Drupal 8, dus bij Bulcode presenteren we het altijd aan klanten als een klein eigen project.

De erfenis die we kregen voor luchthavenschema's was de drijvende kracht achter onze beslissing om React te gebruiken. Er was veel handmatig werk nodig, net als het maken en uploaden van CSV-bestanden, wat af en toe storingen veroorzaakte. Het was een moeizaam proces dat een paar keer per dag plaatsvond. Dit moest zo snel mogelijk worden opgelost.

Dus, wat was onze aanpak? Met specifieke caching en React componenten voor de frontend, zijn API-gestuurde planningen snel en on-the-fly.

Waarom Drupal en React? Drupal is een contentmanagementsysteem met een robuuste API voor webservices, en React is een eenvoudige manier om interactieve gebruikersinterfaces te bouwen. De combinatie van React en Drupal werkt op een aantal manieren goed. Sites met Drupal kunnen echter nog steeds gebruik maken van React voor het ontwikkelen van componenten. Deze methode wordt "progressieve ontkoppeling" genoemd.

Laten we nu eens kijken hoe het wordt gebruikt!

React toevoegen aan onze componenten: onze ervaring

Om te beginnen moeten we alle vereiste afhankelijkheden downloaden en installeren:
yarn add react react-dom webpack webpack-cli @babel/cli @babel/core @babel/preset-env @babel/preset-react babel-loader webpack webpack-cli

Houd er rekening mee dat we hier niet ingaan op de specifieke werking van elke module of welke modules moeten worden toegevoegd als devpendencies. Als je de packages pagina gebruikt, kun je dit zien.

Laten we nu onze package.json scripts sectie instellen:

package json scripts

Het is een goed idee om aparte dev en productie webpack configuraties te hebben, dus houd hier rekening mee bij het maken van je eigen bestanden.

Voeg een eenvoudige webpack.config.js toe aan de mix. React Hot Reloader met Webpack Server, wat CSS, SASS en bestandsladers, evenals extra plugins zoals ESLint en minifiers zijn waarschijnlijk nodig in je werk. We zullen hier niet verder op ingaan omdat het een kwestie van persoonlijke voorkeur is.

webpack config

Laten we onze babel-configuratie niet vergeten. Dit kan worden gedaan met package.json of .babelrc.

babel config

We komen steeds dichterbij. In onze dist map vinden we een app.bundle.js die we kunnen gebruiken als bibliotheek in ons thema wanneer onze build scripts worden uitgevoerd. Voor het gemak willen we deze toevoegen aan de hele app. Merk op dat de prestaties van je applicatie in het gedrang kunnen komen als je React alleen nodig hebt voor een paar componenten verspreid over willekeurige pagina's.

app bundle js

We zijn klaar om aan de slag te gaan met ons eigenlijke react component. De mogelijkheden zijn eindeloos in dit gedeelte.

src/index.jsx

react component

Tot slot voegen we de markup toe die nodig is om ons React-component weer te geven. Het is nu aan jou om het te plaatsen waar je wilt!

html

En voilà, we hebben React met succes geïntegreerd in ons Drupal-project.

 

Fraport Bulgarije
"De individuele benadering, tijdige leveringen en nauwkeurige documentatie van de ontwikkelingen zijn een klein deel van de redenen om de actieve samenwerking met Bulcode 2016 Ltd. voort te zetten. Het is ons voorrecht en plicht om het team van Bulcode 2016 Ltd. aan te bevelen als uiterst competent, betrouwbaar en verantwoordelijk in de uitvoering van de verplichtingen."

ABONNEER U OP ONZE NIEUWSBRIEF

Deel dit artikel:

ABONNEER U OP ONZE NIEUWSBRIEF

Verwante Blog Artikelen

    Bouwen aan een goed presterend Agile team: Onze bewezen aanpak

    Blog

    Bouwen aan een goed presterend Agile team: Onze bewezen aanpak

    Ontdek hoe we goed presterende Agile-teams bouwen door duidelijke rollen te definiëren, samenwerking te stimuleren en flexibele tools te gebruiken.

    Geschreven door Svetoslava Angelova
    Aug 27, 20249 min read
    Drupal 11: Wat kunt u verwachten? Uitgebreide gids voor nieuwe functies en verbeteringen

    Blog

    Drupal 11: Wat kunt u verwachten? Uitgebreide gids voor nieuwe functies en verbeteringen

    Drupal 11 is uit! Ontdek in dit artikel de spannende functies en verbeteringen. Upgrade nu en herdefinieer je digitale strategie met de deskundige ondersteuning van Bulcode.

    Geschreven door Svetoslava Angelova
    Aug 05, 20247 min read
    Single Directory-onderdelen in Drupal core: Een uitgebreid overzicht

    Blog

    Single Directory-onderdelen in Drupal core: Een uitgebreid overzicht

    Ontdek hoe Single Directory Components (SDC) in Drupal Core het ontwikkelproces stroomlijnen door componentgerelateerde bestanden in een enkele map in te kapselen. Leer meer over de voordelen van SDC's en volg een stap-voor-stap handleiding om ze te implementeren in uw Drupal-projecten.

    Geschreven door Nikolay Tsekov
    Aug 07, 20244 min read
    Drupal-versies begrijpen en een migratiestrategie plannen

    Blog

    Drupal-versies begrijpen en een migratiestrategie plannen

    Herken de verschillende Drupal-versies en houd je website up-to-date.

    Geschreven door Svetoslava Angelova
    Aug 22, 20234 min read
    Drupal 9 afbeelding converteren naar WebP formaat

    Blog

    Drupal 9 afbeelding converteren naar WebP formaat

    WebP is in staat om datacompressie naar een nieuw niveau te tillen dankzij de toevoeging van een voorspellingsmodus aan het JPG-proces, waardoor het duidelijk te zien is hoe het zijn JPG-gebaseerde tegenhanger kan overtreffen. En we hebben de resultaten om het te bewijzen.

    Geschreven door Vasil Boychev
    Aug 22, 20238 min read
    Overzicht React - Definitie, SPA, Componenten, Hooks

    Blog

    Overzicht React - Definitie, SPA, Componenten, Hooks

    React is een gratis en open-source front-end JavaScript-framework voor het maken van gebruikersinterfaces op basis van UI-componenten. Het staat ook bekend als React.js of ReactJS.

    Geschreven door Mihail Shahov
    Aug 22, 20236 min read
    Wat is Agile en waarom gebruiken we het?

    Blog

    Wat is Agile en waarom gebruiken we het?

    Agile is een tijdgebonden, iteratieve methode om software op te leveren die erop gericht is om software geleidelijk op te leveren tijdens het project in plaats van alles in één keer aan het einde.

    Geschreven door Svetoslava Angelova
    Aug 22, 20235 min read
    NVM vs NPM vs Yarn

    Blog

    NVM vs NPM vs Yarn

    Vergeleken met de drie technologieën verschilt NVM van de andere twee. Node Version Manager (NVM) wordt gebruikt om Node.js-versies te beheren. NPM en Yarn zijn Node.js pakketbeheerders. Ze maken het mogelijk om pakketten te downloaden, te installeren en te beheren bij het ontwikkelen in JavaScript.

    Geschreven door Ventsislav Venkov
    Aug 22, 20235 min read
    Welk IT-engagementmodel is geschikt voor jou?

    Blog

    Welk IT-engagementmodel is geschikt voor jou?

    Vaste prijs, tijd en materialen of speciale teams? Overweeg zorgvuldig alle voor- en nadelen van het opdrachtmodel voor jouw project.

    Geschreven door Svetoslava Angelova
    Aug 22, 202310 min read
    Laravel Mix - een eenvoudige en krachtige wrapper rond Webpack

    Blog

    Laravel Mix - een eenvoudige en krachtige wrapper rond Webpack

    Laravel Mix biedt een vloeiende API voor het definiëren van webpack bouwstappen voor je Laravel applicatie met behulp van verschillende veelgebruikte CSS en JavaScript pre-processors.

    Geschreven door Stefani Tashkova
    Aug 22, 20234 min read
    Wat is Scrum?

    Blog

    Wat is Scrum?

    Scrum is een onderdeel van de Agile methodologie. Het is het populairste raamwerk voor agile ontwikkeling en het is een eenvoudig procesraamwerk.

    Geschreven door Svetoslava Angelova
    Aug 22, 20234 min read
    Rollen in Scrum

    Blog

    Rollen in Scrum

    Scrum rollen en hoe je ze in je organisatie kunt inpassen.

    Geschreven door Svetoslava Angelova
    Aug 22, 20234 min read

    NEEM CONTACT OP

    Heb je een project dat je wilt lanceren?