Я получаю три предупреждающих сообщения при импорте request
в проекте barebone webpack. Минимальный пример для воспроизведения ошибки доступен на GitHub (запустите npm install
и npm start
).
Critical dependency: the request of a dependency is an expression
Как я могу избавиться от этого предупреждения?
Дополнительная информация:
Webpack пытается разрешить require
вызовы статически, чтобы сделать минимальный пакет. Когда библиотека использует переменные в требуемом вызове (например, эти строки в ajv
), Webpack не может их устранить статически и импортирует весь пакет.
Мое обоснование заключается в том, что этот динамический импорт нежелателен в производстве, а код лучше всего хранить без предупреждения. Это означает, что я хочу любое решение, которое решает проблему. Например:.
- Вручную настроить webpack для импорта необходимых библиотек и предотвращения появления предупреждений.
- Добавление файла
hack.js
в мой проект, который каким-то образом переопределяет требуемые вызовы. - Обновление моих библиотек.
ajv-5.0.1-beta.3
имеет исправление, которое блокирует предупреждения. Однако, если я хочу использовать его, мне нужно подождать, пока он не будет выпущен, а затем доhar-validator
иrequest
отпустите последующие обновления. Если есть способ заставитьhar-validator
использовать бета-версиюajv
, это решит мою проблему. - Другое