#webpack #node-modules #webpack-dev-server #http-proxy-middleware
#webpack #узлы-модули #webpack-dev-server #http-прокси-промежуточное программное обеспечение
Вопрос:
Я пытаюсь использовать настройки, аналогичные этому репозиторию, чтобы попытаться создать полнофункциональное приложение typescript с использованием React и Express.
Репозиторий использует tsc-watch, подобный nodemon, для отслеживания файлов сервера, а затем webpack-dev-server для размещения статических файлов react на порту 8085. Тем временем сервер, работающий на 3000, отображает приложение react, проксируя все статические запросы в / statics на 8085.
Когда я клонирую репозиторий, все работает. Однако в моем собственном репозитории (где я пытаюсь узнать, как выполнить аналогичную конфигурацию, сервер продолжает выдавать эту ошибку:
node_modules/@types/webpack-dev-server/index.d.ts
затем:
node_modules/http-proxy-middleware/dist /index»‘ не имеет экспортированного элемента ‘Config’.
Когда я захожу в node_modules, я вижу, что @types / webpack-dev-server ожидает, что там будет конфигурация от http-proxy-middleware. В @types / http-proxy-middleware есть интерфейс под названием Config. Однако в обычной папке модуля узла http-proxy-middleware такого модуля нет, и именно это является причиной ошибки.
Мой вопрос в том, как мне заставить @types / webpack-dev-server использовать @types / http-proxy-middleware, а не просто node_modules / http-proxy-middleware? Или я упускаю что-то совсем другое?
При необходимости я могу опубликовать код.
Комментарии:
1. Можете ли вы поделиться своим репозиторием.?
2. привет @gilamran, да, я сделаю это сейчас
3. Вы увидите, что, вообще говоря, это ваш код — я пока пропускаю содержимое манифеста, просто чтобы посмотреть, смогу ли я заставить что-то работать
4. Я собираюсь запустить новое репозиторий, потому что я понял, что в этом есть проблема с подмодулем
Ответ №1:
Вот несколько фактов, которые могут помочь:
- Используется statics-router.ts
http-proxy-middleware
, версия «^1.0.3» webpack-dev-server
зависит от версии «0.19.1»Config
Вклhttp-proxy-middleware
был удален в версии 1.- Определения типов для версии 1 являются частью
http-proxy-middleware
самой себя (а не в разделе @types, как раньше) - Если вы заглянете в
/node_modules/@types/webpack-dev-server/package.json
, вы увидите, что наdependencies
нем есть:"@types/http-proxy-middleware": "*"
. Обратите внимание, что это зависит от версии @types.d.ts
Похоже, что typescript сначала ищет определения типов в node_modules/LIBRARY
, а затем в @types
, поэтому он «находит» .d.ts
для версии 1 вместо версии, 0.19.1
подобной webpack-dev-server
требуемой
Чтобы решить эту проблему, просто добавьте: "skipLibCheck": true,
в общий tsconfig.json
Комментарии:
1. большое спасибо Gil — я посмотрю, смогу ли я найти способ сначала пройти через @types