⊗jsrxPmSDIM 37 of 57 menu

Redux үчүн сервердик бөлүгүндө иштөө үчүн msw орнотуу

Өткөн сабактарда биз колдонмобузда бир нече кошумча өзгөртүүлөрдү жасадык. Эми биз колдонмобуз маалымат алмашкан сервер менен таанышышыбыз керек.

Бизде чыныгы сервер болбойт, ошондуктан биз анын ишин жалган түрдө тарбиялайбыз, колдонуу менен сонун курал Mock Service Worker. Mock Service Worker (MSW) - бул API тарбиялоо үчүн курал, ал колдонулат стандартталган API Service Worker, тармактык деңгээлде сурамдарды кармоо үчүн. MSW биздин сурамдарга жалган жоопторду (responses) түзөт (requests). Андан сырткары, иштеп чыгуучулар айткандай, курал ушунчалык натыйжалуу жана ийкемдүү, кийин моктор менен оңдоодон кийин (колдонмодо атайын эч нерсе түзүлүшү керек эмес), колдонмону чыныгы сырткы сервер менен иштөөгө коё аласыз. Анын документтери анчалык кенен, эгерде сиз MSW менен кызыксаңыз, аны окусаңыз болот расмий сайтта.

Келгиле msw орнотууга өтөлү. Үчүн бул биздин продуктулар проекттин ачып жана терминалга киргизели:

npm install msw --save-dev

msw иштеши үчүн бизге ошондой эле түзүп жана көчүрүү керек mockServiceWorker.js кандайдыр бир жарыяланган директорияга. Көбүнчө бул папка public. Бизде бош папка бар public, келгиле аны көчүрөлү ошол жерге. Үчүн терминалда иштетүү командасын жана андан кийин колдонууга макул болуу public:

npx msw init public

Эми public карап көрөлү, ал жерде пайда болушу керек түзүлгөн скрипт mockServiceWorker.js. Эми продуктулар менен колдонмобузду иштетели жана дарек сабына браузердин киргизели http://localhost:5173/mockServiceWorker.js (анткени биздин колдонмо 5173 портунда иштейт). Браузердин терезесинде файлдын мазмуну көрүнүп жатабы? mockServiceWorker.js? Анда баары сонун, андан ары жөнөйлү.

Кийинки src папкасында папка түзөлү api, ал жерде файл server.js, анда сервердин коду жазабыз. Эми server.js ачалы жана ага функциясын импорттойбуз setupWorker орнотулган msw китепканасынан:

import { setupWorker } from 'msw/browser'

Төмөндө файлда өзгөрмө түзөбүз worker жана аны экспорттойбуз:

export const worker = setupWorker()

Эми main.jsx файлын ачалы жана ага воркерибизди импорттойбуз:

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

Эми аны биздин колдонмого кошолу. Үчүн код, менен биз React колдонмосунун тамырын түзөбүз, аны функцияга ороп коёбуз, атап коёбуз main жана биринчи сабына ага воркер үчүн иштөө функциясын кошобуз. Албетте унутпайбыз main чакыралы. Бардык кийин импорттор менен саптардан кийин толук код болот мындай:

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

Эми биз ишеничтүүбүз, биздин колдонмо иштеп баштабайт мурда (жана сурамдар жөнөтөт ;) ), воркер иштеп баштаганга чейин.

Келгиле колдонмобузду иштетели жана ачылы браузерде иштеп чыгуучулар үчүн консоль. Эгерде сиз анда текстти көрсөңүз '[MSW] Mocking enabled.', анда сиз суперсиз жана баарын орноттуңуз туура!!!

Студенттер менен колдонмонузду ачыңыз. Бул сабактын материалы менен таанышкандан кийин, Mock Service Worker сиздин колдонмоңуз үчүн орнотуңуз.

server.js файлын түзүңүз, ал жерде воркер түзүңүз. worker колдонмого кошуңуз main.js, сабакта көрсөтүлгөндөй. Бардыгы иштеп жатканына ишенүү.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу