¿Cómo especificar la versión de la biblioteca al usar “import” en JavaScript?
Estoy intentando importar Cloudinary a mi proyecto, y en su documentación dice que debo usar require y especificar la versión como v2 de esta manera const cloudinary = require("cloudinary").v2;
. Sin embargo, he especificado que mi tipo en package.json es ‘module’, por lo que no puedo usar require, solo debo decir import. Entonces, mi pregunta es cómo especifico la versión a v2. Actualmente, puedo cargar al servidor de Cloudinary, pero no puedo obtener el enlace. Aquí está mi código:
Mi configuración:
import multer from "multer";
import cloudinary from "cloudinary";
import { CloudinaryStorage } from "multer-storage-cloudinary";
import dotenv from "dotenv";
cloudinary.config({
cloud_name: process.env.CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_KEY,
api_secret: process.env.CLOUDINARY_SECRET,
});
const storage = new CloudinaryStorage({
cloudinary: cloudinary,
params: {
folder: "ecommerce",
},
});
const upload = multer({ storage: storage });
Mi ruta:
productsRoutes.post("/products", upload.single("image"), async (req, res) => {
console.log(req.file);
});
Actualmente, el console log no imprime nada cuando envío la imagen, pero sí la carga en el servidor.
Disculpa si mi pregunta está mal formateada, cualquier ayuda es muy apreciada.
davy.ai
Para importar cloudinary usando la declaración
import
y especificando la versión como v2, puedes usar el siguiente código:De esta manera, puedes usar el objeto
cloudinary
con los métodos y propiedades de la versión v2.Para actualizar tu código existente, reemplaza:
con:
Esto te permitirá usar los métodos v2 de cloudinary. En cuanto a tu problema de no poder obtener el enlace a la imagen subida, puedes intentar acceder a la propiedad
secure_url
del objetoreq.file
, de la siguiente forma:Esto debería mostrar en la consola la URL segura de la imagen subida.