Почему я получаю сообщение об ошибке «модуль 'msw' не имеет экспортированных остатков элементов» для моего импорта «импорт { rest } из 'msw'»

Я следую примеру здесь:

https://testing-library.com/docs/react-testing-library/example-intro/

В разделе «Шаг за шагом» в разделе «Импорт» написано следующее:

// import dependencies
import React from 'react'

// import API mocking utilities from Mock Service Worker
import {rest} from 'msw'
import {setupServer} from 'msw/node'

Сначала я получил ошибку для этой строки:

import {setupServer} from 'msw/node'

Но я выполнил команду:

npm install msw@latest

И это исправило эту конкретную ошибку. Однако эта ошибка:

Module '"msw"' has no exported member 'rest'. ts(2305)

На линии:

import { rest } from 'msw'

там, где прописано «отдых», все равно остается.

Вот с чем я работаю:

  • узел: 18.17.1
  • НПМ: 9.8.1
  • машинопись: 5.3.3

Кажется, у меня есть последняя версия «msw», когда я выполнил это «install msw@latest», но я не могу понять эту ошибку.

Если вы используете код VS, перезагрузите окно или перезапустите код VS, это может произойти, и это очень распространено. Надеюсь, это решит проблему, иначе это действительно проблема с библиотекой.

mssp 12.03.2024 18:41

@mssp К сожалению, это не помогло. Однако спасибо за предложение.

Brian 12.03.2024 19:07

И последнее мое предложение: удалите node_modules и создайте новый npm i, если вы этого еще не сделали. Иначе я не могу думать ни о чем другом

mssp 12.03.2024 19:14

@mssp Все еще ничего ... в любом случае спасибо.

Brian 12.03.2024 19:23

Почему бы не проверить документы MSW ?

Phil 12.03.2024 23:59

@Phil Потому что я новичок в тестировании React.JS, Next.JS и Vitest, и я следовал руководству, чтобы узнать больше, и понятия не имел, что такое «msw».

Brian 13.03.2024 16:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
6
3 366
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

попробуйте вместо этого использовать «import { http } from 'msw'»

https://mswjs.io/docs/migrations/1.x-to-2.x/

Ответ принят как подходящий

В последней версии MSW все остальные устарели в пользу http.

Тогда решение должно состоять в том, чтобы обновить ваш импорт до:

импортировать { http } из 'msw';

Отсюда вы можете следовать руководствам по миграции по этой ссылке: https://mswjs.io/docs/migrations/1.x-to-2.x/, чтобы убедиться, что вы правильно настраиваете свои макеты.

Спасибо за ваш чрезвычайно полезный, но непредвзятый ответ. В Путеводителе, на который вы мне указали, есть все ответы, которые мне нужны.

Brian 13.03.2024 16:41

Это абсолютно правильный путь! Спасибо за публикацию этого.

kettanaito 13.03.2024 22:53

большое спасибо, проблема в том, что вместо этого используйте msw HTTP и следуйте инструкциям msw!

André Luiz Myszko 10.06.2024 00:57

Другие вопросы по теме