webpack - pueden - tabla de errores sql server
Paquete web: dependencia crÃtica: la solicitud de una dependencia es una expresión (2)
Recibo tres mensajes de advertencia al importar la request
en un proyecto de paquete web barebone. Un ejemplo mínimo para reproducir el error está disponible en GitHub (ejecute npm install
y npm start
).
Critical dependency: the request of a dependency is an expression
¿Cómo puedo deshacerme de esta advertencia?
Más información:
El paquete web intenta resolver las llamadas de forma estática para crear un paquete mínimo. Cuando una biblioteca usa variables en una llamada requerida (como estas líneas en ajv
), Webpack no puede resolverlas de forma estática e importa el paquete completo.
Mi razonamiento es que esta importación dinámica no es deseable en la producción, y el código se mantiene mejor sin 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 archivo
hack.js
a mi proyecto que invalida las llamadas de alguna manera. - Actualización de mis bibliotecas.
ajv-5.0.1-beta.3
tiene una solución que silencia las advertencias. Sin embargo, si quiero usarlo, tengo que esperar hasta que se publique, y luego hastahar-validator
yrequest
las actualizaciones posteriores. Si hay una manera de forzar ahar-validator
a usar la versión beta deajv
, eso resolvería mi problema. - Otro
Reemplazar este
new webpack.ContextReplacementPlugin(
/angular(//|//)core(//|//)@angular/,
helpers.root(''./src''), // location of your src
{} // a map of your routes
),
con este-
new webpack.ContextReplacementPlugin( /(.+)?angular(//|//)core(.+)?/, root(''./src''), {} )
Resuelto con npm install [email protected] --save
Según los autores de ajv
, el problema probablemente se resolverá en la última versión de la request
dentro de unas semanas.