⊗jsrxPmSDIM 37 of 57 menu

Instalação do MSW para trabalhar com o backend no Redux

Nas lições anteriores, fizemos algumas modificações adicionais em nossa aplicação. Agora precisamos lidar com o servidor com o qual nossa aplicação irá se comunicar.

Não teremos um servidor real, então vamos simular a interação com ele usando uma ferramenta incrível: Mock Service Worker. O Mock Service Worker (MSW) é uma ferramenta de mock de API que usa a API padronizada do Service Worker, projetada para interceptar solicitações em nível de rede. O MSW irá gerar respostas fictícias (responses) para as nossas solicitações (requests). Além disso, como afirmam os desenvolvedores, a ferramenta é tão eficaz e flexível que, após depurar com os mocks (para os quais nada especial precisa ser criado na aplicação), a aplicação pode ser colocada em produção com um servidor externo real. A documentação é bastante extensa e, se você se interessar pelo MSW, pode lê-la no site oficial.

Vamos prosseguir com a instalação do msw. Para isso, abra nosso projeto de produtos e no terminal, digite:

npm install msw --save-dev

Para o msw funcionar, também precisamos criar e copiar mockServiceWorker.js para algum diretório público. Muitas vezes é a pasta public. Nós temos uma pasta public vazia, vamos copiar o arquivo para lá. Para isso, execute no terminal o comando e depois aceite o uso da pasta public:

npx msw init public

Agora, vamos verificar a pasta public; lá deve aparecer o script gerado mockServiceWorker.js. Agora inicie nossa aplicação de produtos e na barra de endereços do navegador, digite http://localhost:5173/mockServiceWorker.js (já que nossa aplicação está rodando na porta 5173). Você vê o conteúdo do arquivo mockServiceWorker.js exibido na janela do navegador? Se sim, ótimo, vamos em frente.

A seguir, vamos criar uma pasta api dentro da pasta src, e dentro dela um arquivo server.js, onde escreveremos o código do servidor. Agora, abra server.js e importe a função setupWorker da biblioteca msw instalada:

import { setupWorker } from 'msw/browser'

Abaixo no arquivo, vamos criar a variável worker e exportá-la:

export const worker = setupWorker()

E agora, vamos abrir o arquivo main.jsx e importar nosso worker:

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

Agora, vamos conectá-lo à nossa aplicação. Para isso, vamos envolver o código que usamos para criar a raiz de nossa aplicação React em uma função, vamos chamá-la de main e adicionar, como primeira linha, a função de inicialização do worker. Claro, não vamos esquecer de chamar a própria função main. O código completo, após todas as linhas de importação, ficará assim:

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

Agora temos certeza de que nossa aplicação não começará a funcionar (e enviar solicitações ;) ) antes do worker ser iniciado.

Vamos iniciar nossa aplicação e abrir o console do navegador para desenvolvedores. Se você vir o texto '[MSW] Mocking enabled.' lá, você fez um ótimo trabalho e instalou tudo corretamente!!!

Abra sua aplicação de estudantes. Tendo revisado o material desta lição, instale o Mock Service Worker para sua aplicação.

Crie o arquivo server.js e, dentro dele, crie um worker. Conecte o worker à aplicação no arquivo main.js, conforme mostrado na lição. Certifique-se de que tudo está funcionando.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar