Mensaje de error:
CAMBIO IMPORTANTE: webpack < 5 solía incluir polyfills para los módulos principales de node.js de forma predeterminada. Este ya no es el caso. Verifique si necesita este módulo y configure un polyfill para él.
Así que estaba buscando en Google este problema y tuve MUCHOS problemas para encontrar una solución. Así que me gustaría compartirlo contigo:
En primer lugar, esto puede suceder no solo con criptografía, sino también con otras cosas como http, https, os, etc.
Compruebe si el paquete (en este caso, crypto-browserify está instalado) Debería haber una carpeta node_modules\crypto-browserify
Si no existe: npm install crypto browsrify , luego yarn add @types/node@15.12.5 -D (para esta versión de nodo)
En node_modules\crypto-browserify edite package.json y agregue
, "optionalDependencies": {}, "browser": { "crypto": false },(después de devDependencies)
"compilerOptions": { "paths":{ "crypto":["node_modules/crypto-browserify"], "http":["node_modules/stream-http"], "https":["node_modules/https-browserify"] }, "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "allowedCommonJsDependencies": ["crypto"], "allowedCommonJsDependencies": ["http"], "allowedCommonJsDependencies": ["https"],Tuve este problema en ReactJS con create-react-app(facebook)
Solución:
Primero instale los paquetes necesarios "crypto-browserify"
Modifique webpack.config.js en reactjs con create-react-app, este archivo está dentro:
node_modules/react-scripts/config/webpack.config.js
module.exports = function (webpackEnv) { ... return { ... resolve: { ... fallback: { // Here paste crypto: require.resolve("crypto-browserify"), } } } }Nota: Es posible que necesite más paquetes, por ejemplo, "stream-browserify", los pasos son los mismos. Esta solución funciona, pero cuando se inicia el proyecto del paquete web, muestra advertencias.
Pd: No soy hablante nativo de inglés, pero espero que me entiendan.