Recibo tres mensajes de advertencia al importar requesten un proyecto de paquete web básico. Un ejemplo mínimo para reproducir el error está disponible en GitHub (ejecutar npm instally npm start).
Critical dependency: the request of a dependency is an expression
¿Cómo puedo deshacerme de esta advertencia?
Más información:
Webpack intenta resolver las requirellamadas de forma estática para hacer un paquete mínimo. Cuando una biblioteca usa variables o expresiones en una llamada require (como require('' + 'nodent')en estas líneas de ajv), Webpack no puede resolverlas estáticamente e importa el paquete completo.
Mi razón fundamental es que esta importación dinámica no es deseable en la producción, y es mejor mantener el código libre de advertencias. Eso significa que quiero cualquier solución que resuelva el problema. P.ej:
- Configure manualmente el paquete web para importar las bibliotecas necesarias y evitar que se produzcan las advertencias.
- Agregar un
hack.jsarchivo a mi proyecto que anula las llamadas requeridas de alguna manera. - Actualizando mis bibliotecas.
ajv-5.0.1-beta.3tiene una solución que silencia las advertencias. Sin embargo, si quiero usarlo, tengo que esperar hasta que se libera, y entonces hastahar-validatoryrequestlanzar actualizaciones posteriores. Si hay una forma de forzar elhar-validatoruso de la versión beta deajv, eso resolvería mi problema. - Otro