⊗jsrxPmSDIM 37 of 57 menu

Redux-də server tərəfi ilə iş üçün msw quraşdırılması

Əvvəlki dərslərdə biz tətbiqimizdə bir neçə əlavə dəyişiklik etdik. İndi bizim tətbiqimizin məlumat mübadiləsi aparacağı server ilə tanış olmağa ehtiyac var.

Həqiqi serverimiz olmayacaq, ona görə də biz onunla işi sadəcə təqlid edəcəyik, istifadə edərək əla alət Mock Service Worker. Mock Service Worker (MSW) - API-ni təqlid etmək üçün alətdir ki, şəbəkə səviyyəsində sorğuları əlavə etmək üçün nəzərdə tutulmuş standartlaşdırılmış Service Worker API-dan istifadə edir. MSW bizim sorğularımıza (requests) saxta cavablar (responses) yaradacaq. Üstəlik, inkişaf etdiricilərin dediyinə görə, alət o qədər effektiv və çevikdir ki, moklarla (tətbiqdə onlar üçün xüsusi heç nə yaratmaq tələb olunmur) sazlama apardıqdan sonra, tətbiqi artıq həqiqi xarici server ilə işə buraxa bilərsiniz. Onun sənədləri olduqca genişdir və, əgər siz MSW ilə maraqlansanız, onu rəsmi saytda oxuya bilərsiniz.

Gəlin msw quraşdırmağa keçək. Bunun üçün məhsullar layihəmizi açaq və terminalda daxil edək:

npm install msw --save-dev

msw-nin işləməsi üçün bizim həmçinin yaratmağa və köçürməyə mockServiceWorker.js hansısa ictimai qovluğa ehtiyacımız var. Tez-tez bu public qovluğu olur. Bizim boş public qovluğumuz var, gəlin onu ora köçürək. Bunun üçün terminalda komandanı işə salın və sonra public-in istifadəsinə razılaşın:

npx msw init public

İndi public-ə nəzər salaq, orada yaranmış skript mockServiceWorker.js görünməlidir. İndi məhsullar tətbiqimizi işə salaq və brauzerin ünvan sətrində daxil edək http://localhost:5173/mockServiceWorker.js (çünki bizim tətbiqimiz 5173 portunda işləyir). Brauzerin pəncərəsində mockServiceWorker.js faylının məzmununun göstərildiyini görürsünüz? Deməli hər şey əladır, davam edirik.

Bundan sonra gəlin src qovluğunda api qovluğu yaradaq, onun içində də server.js faylını, hansında ki server kodunu yazacayıq. İndi server.js-i açaq və ona quraşdırılmış msw kitabxanasından setupWorker funksiyasını import edək:

import { setupWorker } from 'msw/browser'

Aşağıda faylda worker dəyişənini yaradaq və onu export edək:

export const worker = setupWorker()

İndi isə gəlin main.jsx faylını açaq və ona workeri import edək:

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

İndi onu tətbiqimizə əlavə edək. Bunun üçün React tətbiqimizin kökünü yaratmaq üçün istifadə etdiyimiz kodu, biz funksiyaya əlavə edəcəyik, onu main adlandıraq və onun içərisində birinci sətirdə workeri işə salmaq funksiyası əlavə edək. Əlbəttə ki özü main-i çağırmağı unutmayaq. Bütün import sətirlərindən sonra tam kod indi belə görünəcək:

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

İndi biz əminik ki, bizim tətbiqimiz işləməyə başlamayacaq (və sorğular göndərməyəcək ;) ), worker işə düşməmişdən əvvəl.

Gəlin tətbiqimizi işə salaq və brauzerdə developer konsolunu açaq. Əgər siz orada '[MSW] Mocking enabled.' mətnini görürsünüzsə, onda siz çox yaxşısınız və hər şeyi düzgün quraşdırmısınız!!!

Tələbələr tətbiqinizi açın. Bu dərsin materialı ilə tanış olduqdan sonra, Mock Service Worker-i tətbiqiniz üçün quraşdırın.

server.js faylı yaradın, onun içində də worker yaradın. Workeri tətbiqə main.js-də dərsdə göstərildiyi kimi əlavə edin. Əmin olun ki, hər şey işləyir.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et