⊗jsrxPmSDIM 37 of 57 menu

MSW paigaldamine Reduxi taustsüsteemi tööks

Eelmistel tundidel tegime mitu täiendavat muudatust oma rakenduses. Nüüd peame tegelema serveriga, millega meie rakendus suhtleb andmeid.

Meil ei ole päris serverit, seega me lihtsalt simuleerime sellega töötamist, kasutades lahedat tööriista Mock Service Worker. Mock Service Worker (MSW) on API simuleerimise tööriist, mis kasutab standardiseeritud Service Worker API-t, mis on mõeldud päringute peatamiseks võrgustiku tasandil. MSW genereerib võltsvastuseid (responses) meie päringutele (requests). Pealegi, nagu arendajad väidavad, on tööriist nii tõhus ja paindlik, et pärast võltsandmetega silumist (mille jaoks rakenduses ei pea midagi erilist looma), saab rakenduse lasta tööle juba päris välisserveriga. Dokumentatsioon selle kohta on üsna mahukas, ja kui te huvi tunnete MSW vastu, võite seda lugeda ametlikul veebisaidil.

Hakkame msw paigaldamisega. Selleks avame oma tooterakenduse ja sisestame terminali:

npm install msw --save-dev

MSW tööks peame looma ja kopeerima mockServiceWorker.js mõnda avalikku kataloogi. Sageli on see kaust public. Meil on tühi kaust public, kopeerime selle sinna. Selleks käivitage terminalis käsk ja seejärel nõustuge public kasutamisega:

npx msw init public

Nüüd vaatame public, sinna peaks ilmuma genereeritud skript mockServiceWorker.js. Nüüd käivitame oma tooterakenduse ja brauseri aadressiribale sisestame http://localhost:5173/mockServiceWorker.js (kuna meie rakendus töötab 5173 pordil). Näete brauseri aknas kuvati faili mockServiceWorker.js sisu? Tähendab kõik on suurepärane, läheme edasi.

Järgmisena loome kaustas src kausta api ja selles faili server.js, kus kirjutame serveri koodi. Nüüd avame server.js ja impordime sellesse funktsiooni setupWorker paigaldatud msw teegist:

import { setupWorker } from 'msw/browser'

Allpool failis loome muutuja worker ja ekspordime selle:

export const worker = setupWorker()

Nüüd avame faili main.jsx ja impordime sinna oma workeri:

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

Nüüd ühendame selle oma rakendusega. Selleks ümbritseme koodi, millega loome oma React rakenduse juure, funktsiooniga, nimetame selle main ja lisame selle esimesele reale workeri käivitamise funktsiooni. Muidugi ei unusta kutsuda ka main ise. Terve kood pärast kõiki importimise ridu näeb nüüd välja selline:

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üüd oleme kindlad, et meie rakendus ei hakka tööle enne (ja saatma päringuid ;) ), kui worker käivitub.

Käivitame oma rakenduse ja avame brauseris arendajakonsooli. Kui te näete seal teksti '[MSW] Mocking enabled.', siis olete tubli ja paigaldasite kõik õigesti!!!

Avage oma õpilaste rakendus. Pärast selle tunni materjali tutvumist paigaldage Mock Service Worker oma rakenduse jaoks.

Looge fail server.js ja selles looge worker. Ühendage worker rakendusega main.js, nagu on näidatud tunnis. Veenduge, et kõik töötab.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu