node.js - Problema con Webpack < 5 al usar firebase admin
Cuando quiero usar el SDK de administrador de Firebase usando el siguiente código
import * as admin from 'firebase-admin';
var serviceAccount = require("../services/serviceAccountKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://voter-60a9f-default-rtdb.europe-west1.firebasedatabase.app"
});
Recibo este error
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: { "util": require.resolve("util/") }'
- install 'util'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "util": false }
Esto es solo uno de muchos. También tengo esto:
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 }
y así sucesivamente....
Intenté reinstalar los módulos de Node pero sin suerte. Tampoco entiendo dónde debería agregar ese fallback que sugieren. Y si lo encontrara, ¿necesito agregar esto para todos los módulos de Node?
¡Gracias!
Respuesta #1
Me encontré con este mismo error, lo que puedes hacer es ir a node_modules/react-scripts/config/webpack-config.js y hacer estos cambios
resolve: {
modules: ...,
extensions: ...,
alias: {...}, fallback: {
"fs": false,
"tls": false,
"net": false,
"path": false,
"zlib": false,
"http": false,
"https": false,
"stream": false,
"crypto": false,
"crypto-browserify": false,
"url": require.resolve("url"),
"os": false,
"os-browserify": false,
"querystring": false,
"buffer": false,
"constants": false,
"child_process": false
},
plugins: [...]
},
