Creé mi proyecto en React usando create-react-app, pero después de un tiempo llegué a este error en la consola
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: { "path": require.resolve("path-browserify") }' \- install 'path-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "path": false } @ ./node_modules/loader-utils/lib/index.js 7:25-54 @ ./node_modules/file-loader/dist/index.js 11:19-42 @ ./node_modules/file-loader/dist/cjs.js 3:15-33 @ ./src/App.js 13:0-35 @ ./src/index.js 7:0-24 11:33-36Después de leer esta publicación , llegué a la conclusión de que tenía que modificar el webpack.config.js que no tenía porque creé el proyecto con create-react-app. En lugar de expulsar (no es muy recomendable), utilicé el paquete npm recomendado al final de este hilo . El problema es que no hay ejemplos de cómo usarlo. Mi pregunta es ¿qué sintaxis debo seguir para modificar config/webpack.extend.js? Este es el código en este momento:
module.exports = { dev: (config) => { //override webpack configuration config.externals =[..]; return config; }, prod: (config) => { //override webpack configuration config.externals =[..]; return config; } };Intenté usar console.log (config) pero nunca se imprime porque los errores se vuelven a imprimir.
No puede usar console.log() porque ese código no se ejecuta desde el navegador, sino en la fase de "compilación" del paquete web.
Esta podría ser una posible solución para tu caso.
module.exports = { dev: (config) => { //override webpack configuration config.resolve.fallback = {"path": require.resolve("path-browserify")}; return config; }, prod: (config) => { //override webpack configuration config.resolve.fallback = {"path": require.resolve("path-browserify")}; return config; } } Tenga en cuenta que debe instalar el paquete path-browserfy .
También puede establecer la propiedad de path en falso.