⊗jsrxPmSDIM 37 of 57 menu

Instalarea msw pentru lucrul cu partea de server în Redux

În lecțiile anterioare am făcut câteva modificări suplimentare în aplicația noastră. Acum trebuie să ne ocupăm de serverul cu care aplicația noastră va face schimb de date.

Nu vom avea un server real, așa că vom simula pur și simplu lucrul cu el, folosind un instrument grozav Mock Service Worker. Mock Service Worker (MSW) este un instrument pentru simularea API-ului, care folosește un API standardizat Service Worker, destinat interceptării cererilor la nivelul rețelei. MSW va genera răspunsuri false (responses) la cererile noastre (requests). Și, după cum susțin dezvoltatorii, instrumentul este atât de eficient și flexibil, încât după depanarea cu mock-uri (pentru care în aplicație nu este necesar să se creeze nimic special), aplicația poate fi pusă în funcțiune cu un server extern real. Documentația este destul de extinsă și, dacă vă interesați de MSW, o puteți citi pe site-ul oficial.

Să trecem la instalarea msw. Pentru aceasta deschidem proiectul nostru cu produsele și în terminal introducem:

npm install msw --save-dev

Pentru ca msw să funcționeze, trebuie de asemenea să creăm și să copiem mockServiceWorker.js într-un director public. Deseori acesta este folderul public. Noi avem un folder gol public, să copiem fișierul acolo. Pentru aceasta rulați în terminal comanda și apoi acceptați utilizarea lui public:

npx msw init public

Acum să ne uităm în public, acolo ar trebui să apară scriptul generat mockServiceWorker.js. Acum pornim aplicația noastră cu produse și în bara de adresă a browserului introducem http://localhost:5173/mockServiceWorker.js (deoarece aplicația noastră rulează pe portul 5173). Vedeți în fereastra browserului s-a afișat conținutul fișierului mockServiceWorker.js? Înseamnă că totul este minunat, mergem mai departe.

În continuare să creăm în folderul src folderul api, iar în el fișierul server.js, în care vom scrie codul serverului. Acum deschidem server.js și importăm în el funcția setupWorker din biblioteca msw instalată:

import { setupWorker } from 'msw/browser'

Mai jos în fișier creăm variabila worker și o exportăm:

export const worker = setupWorker()

Iar acum să deschidem fișierul main.jsx și să importăm workerul nostru în el:

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

Acum să-l conectăm la aplicația noastră. Pentru aceasta, codul cu care creăm rădăcina aplicației noastre React, îl vom înfășura într-o funcție, o vom numi main și prima linie o vom adăuga în ea funcția de pornire pentru worker. Bineînțeles, nu vom uita să apelăm și însuși main. Codul complet după toate liniile cu importul va arăta acum astfel:

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

Acum suntem siguri că aplicația noastră nu va începe să funcționeze înainte (și să trimită cereri ;) ), decât va porni workerul.

Să pornim aplicația noastră și să deschidem în browser consola pentru dezvoltatori. Dacă vedeți în ea textul '[MSW] Mocking enabled.', atunci sunteți grozavi și ați instalat totul corect!!!

Deschideți aplicația voastră cu studenții. Urmărind materialul acestei lecții, instalați Mock Service Worker pentru aplicația dvs.

Creați fișierul server.js, iar în el creați un worker. Conectați workerul la aplicație în main.js, așa cum este arătat în lecție. Asigurați-vă că totul funcționează.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge