⊗jsrxPmSDIM 37 of 57 menu

Installasjon av msw for arbeid med serverdelen i Redux

I de foregående leksjonene har vi gjort flere tilleggsendringer i applikasjonen vår. Nå må vi håndtere serveren som applikasjonen vår vil utveksle data med.

Vi vil ikke ha en ekte server, så vi vil bare simulere arbeidet med den ved å bruke det kule verktøyet Mock Service Worker. Mock Service Worker (MSW) er et verktøy for å simulere API som bruker en standardisert API Service Worker, designet for å avlytte forespørsler på nettverksnivå. MSW vil generere fiktive svar (responses) på våre forespørsler (requests). Dessuten, som utviklerne hevder, er verktøyet så effektivt og fleksibelt at etter feilsøking med mocks (som ikke krever noen spesielle endringer i applikasjonen), kan applikasjonen settes i produksjon med en ekte ekstern server. Dokumentasjonen for den er ganske omfattende, og hvis du blir interessert i MSW, kan du lese den på den offisielle nettsiden.

La oss gå videre til installasjon av msw. For å gjøre dette, åpner vi prosjektet vårt med produkter og i terminalen skriver vi:

npm install msw --save-dev

For at msw skal fungere, må vi også opprette og kopiere mockServiceWorker.js til en offentlig mappe. Ofte er dette mappen public. Vi har en tom mappe public, la oss kopiere den dit. For å gjøre dette, kjør i terminalen kommandoen og godta deretter bruken av public:

npx msw init public

La oss nå se i public, der skal det dukke opp et generert skript mockServiceWorker.js. La oss nå starte applikasjonen vår med produkter og i adresselinjen i nettleseren skrive http://localhost:5173/mockServiceWorker.js (siden applikasjonen vår kjører på port 5173). Ser du at innholdet i filen mockServiceWorker.js ble vist i nettleservinduet? Da er alt bra, la oss gå videre.

Deretter, la oss i mappen src opprette en mappe api, og i den filen server.js, der vi skal skrive serverkoden. La oss nå åpne server.js og importere funksjonen setupWorker fra den installerte msw-biblioteket:

import { setupWorker } from 'msw/browser'

La oss lage en variabel worker nedenfor i filen og eksportere den:

export const worker = setupWorker()

La oss nå åpne filen main.jsx og importere worker-en vår:

import { worker } from './api/server'

La oss nå koble den til applikasjonen vår. For å gjøre dette, vil vi wrappe koden som brukes til å opprette roten av React-applikasjonen vår i en funksjon, vi kaller den main og legger til en funksjon for å starte worker-en som den første linjen. Selvfølgelig må vi ikke glemme å kalle main selv. Den fullstendige koden etter alle importeringslinjene vil nå se slik ut:

async function main() { await worker.start({ onUnhandledRequest: 'bypass' }) ReactDOM.createRoot(document.getElementById('root')).render( <React.StrictMode> <Provider store={store}> <App /> </Provider> </React.StrictMode> ) } main()

Nå er vi sikre på at applikasjonen vår ikke vil begynne å kjøre før (og sende forespørsler ;) ), enn worker-en starter.

La oss starte applikasjonen vår og åpne utviklerkonsollen i nettleseren. Hvis du ser teksten '[MSW] Mocking enabled.' i den, har du gjort en god jobb og installert alt riktig!!!

Åpne applikasjonen din med studenter. Etter å ha sett gjennom materialet i denne leksjonen, installer Mock Service Worker for applikasjonen din.

Opprett filen server.js, og i den oppretter du en worker. Koble worker-en til applikasjonen i main.js, som vist i leksjonen. Forsikre deg om at alt fungerer.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis