es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede importar Cloudinary en NodeJS con el error de “navigator undefined”.

Recientemente instalé cloudinary a través de npm y no puedo importarlo en mi backend de NodeJS debido al siguiente error.

(base) feiwu@Feis-MacBook-Pro backend % node server.js<br>
/Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:1168
var useAgent = navigator && navigator.userAgent || '';
               ^

ReferenceError: navigator is not defined
    at Module../src/namespace/cloudinary-core.js (/Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:1168:16)
    at <strong>webpack require</strong> (/Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:37:30)
    at /Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:101:18
    at /Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:104:10
    at webpackUniversalModuleDefinition (/Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:10:20)
    at Object.<anonymous> (/Users/feiwu/projects/inventaire/backend/node_modules/cloudinary-core/cloudinary-core.js:17:3)
    at Module.compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module.<em>extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module.<em>load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/Users/feiwu/projects/inventaire/backend/node_modules/cloudinary/lib/utils/index.js:48:57)
    at Module.compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)

Hasta ahora no he encontrado nada sobre este error y me gustaría saber si alguien conoce este problema.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el error está relacionado con el hecho de que el objeto navigator no está definido en un entorno de ejecución de Node.js. navigator se utiliza normalmente en navegadores web, por lo que cloudinary-core, que está diseñado para su uso en el navegador, puede no ser completamente compatible con un entorno de Node.js en el backend.

    Una solución potencial a este problema podría ser utilizar el paquete cloudinary en lugar de cloudinary-core. Según la documentación de Cloudinary, el paquete cloudinary está diseñado para su uso en el lado del servidor y no depende de un entorno de ejecución en el navegador.

    Para instalar el paquete cloudinary, simplemente puedes ejecutar:

    npm install cloudinary
    

    Y luego en tu código de backend de Node.js, puedes importar cloudinary de esta manera:

    const cloudinary = require('cloudinary').v2;
    

    A partir de ahí, deberías poder utilizar la biblioteca cloudinary en tu código de backend sin tener problemas relacionados con el objeto navigator.

Comments are closed.