Recibí este error al usar uuidv4.
Failure: Package subpath './v4' is not defined by "exports" in C:\Users\mycomp\Desktop\Programming\Javascript\Serverless\Serverless Framework\node_modules\uuid\package.json Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './v4' is not defined by "exports" in C:\Users\mycomp\Desktop\Programming\Javascript\Serverless\Serverless Framework\node_modules\uuid\package.jsonYa instalé uuid y lo requiero en mi código
const uuidv4 = require('uuid/v4');Aquí está el paquete.json
"dependencies": { "aws-sdk": "^2.702.0", "moment": "^2.27.0", "serverless-offline": "^6.4.0", "underscore": "^1.10.2", "uuid": "^8.1.0" }Tuvimos el mismo error con el módulo uuid v1 (v8.3.2).
Resolvió esto, agregando la siguiente entrada a la sección de exports del package.json instalado.json ( dentro de sus node_modules ):
"./v1": "./dist/v1.js" Sección de exportación completa de node_modules/uuid/package.json de mis proyectos:
"exports": { ".": { "node": { "module": "./dist/esm-node/index.js", "require": "./dist/index.js", "import": "./wrapper.mjs" }, "default": "./dist/esm-browser/index.js" }, "./package.json": "./package.json", "./v1": "./dist/v1.js" },El problema restante ahora necesito mantener esta modificación en todas las instalaciones dist... :/
¿Esto podría solucionarse con un parche en la propia fuente uuid?
EDITAR: No requería el módulo en nuestra propia fuente. Es una dependencia de jest (a través de algún subpaquete de informes de jest).
EDITAR: Alternativamente, volver a uuid dep a v7.0.3 puede solucionar este problema, consulte el comentario a continuación.
Otra opción
const uuid = require('uuid'); uuid.v4(); // "c438f870-f2b7-4b2c-a1c3-83bd88bb1d79"Sintaxis del módulo ECMAScript:
import { v4 as uuidv4 } from 'uuid'; uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'Sintaxis de CommonJS:
const { v4: uuidv4 } = require('uuid'); uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'