Estaba tratando de construir el proyecto de reacción usando npm run build pero falló con los siguientes mensajes.
❯ npm run build > coin-web-test2@0.1.0 build > react-scripts build Creating an optimized production build... Failed to compile. Module not found: Error: Can't resolve 'crypto' in '/Users/...../node_modules/web3-eth-accounts/lib' BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it. If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }' - install 'crypto-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "crypto": false }Traté de configurar config-overrides.js y webpack.config.js con estos comandos (gracias a la respuesta )
webpack.config.js:
module.exports = { resolve: { fallback: { crypto: false }, }, };Sin embargo, sigo recibiendo el mismo error.
Más tarde, descubrí que los react-scripts predeterminados incluidos en node_module contienen su propio webpack.config.js y pueden interferir con el mío. No estoy seguro de esto tbh. Sería bueno si alguien puede explicar.
Y eventualmente, cambié los "scripts" en package.json a esto y el error finalmente desapareció
"scripts": { "start": "NODE_ENV=production node_modules/react-scripts/bin/react-scripts.js start", "build": "NODE_ENV=production node_modules/react-scripts/bin/react-scripts.js build", .... },