Я отримую три попереджувальні повідомлення під час імпорту requestв проект веб-пакета без голови. Мінімальний приклад відтворення помилки доступний на GitHub (run npm installand npm start).
Critical dependency: the request of a dependency is an expression
Як я можу позбутися цього попередження?
Більше інформації:
Webpack намагається requireстатично вирішувати дзвінки, щоб зробити мінімальний пакет. Коли бібліотека використовує змінні або вирази в вимагають виклику (наприклад, require('' + 'nodent')в цих лініях в ajv), Webpack не може вирішити їх статично і імпортує весь пакет.
Моє обгрунтування полягає в тому, що цей динамічний імпорт не бажаний у виробництві, і код краще зберігати без попереджень. Це означає, що я хочу будь-яке рішення, яке вирішує проблему. Наприклад:
- Налаштуйте веб-пакет вручну, щоб імпортувати необхідні бібліотеки та запобігти появі попереджень.
- Додавання
hack.jsфайлу до мого проекту, який певним чином перекриває необхідні виклики. - Оновлення бібліотек.
ajv-5.0.1-beta.3є виправлення, яке замовчує попередження. Однак, якщо я хочу використовувати його, мені доведеться почекати, поки він вийде, а потімhar-validatorіrequestвипустити наступні оновлення. Якщо є спосіб змуситиhar-validatorвикористовувати бета-версіюajv, це вирішить мою проблему. - Інший