Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

911
Vistas
las exportaciones no están definidas en el alcance del módulo ES

Creé el proyecto nest js de la siguiente manera.

nest new project-name

e importado a continuación desde nuxt3, que es de tipo module de nodo js con extensión de archivo mjs (la definición de tipo de importación no requiere escribir mjs).

import { ViteBuildContext, ViteOptions, bundle } from '@nuxt/vite-builder-edge';

Me da el siguiente error.

Uncaught Error Error [ERR_REQUIRE_ESM]: require() of ES Module c:\project\node_modules\@nuxt\vite-builder-edge\dist\index.mjs not supported. Instead change the require of c:\project\node_modules\@nuxt\vite-builder-edge\dist\index.mjs to a dynamic import() which is available in all CommonJS modules.

Así que intenté agregar "type": "module" en package.json, así que ahora recibo el siguiente error.

Uncaught ReferenceError ReferenceError: exports is not defined in ES module scope This file is being treated as an ES module because it has a '.js' file extension and 'c:\project\package.json' contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension. at <anonymous> (c:\project\dist\main.js:2:23)

¿Cómo puedo solucionar esto? El error está relacionado con el mecanografiado (o digamos que el javascript compilado) no puede importar las exportaciones de mjs. ¿Cuál es la solución a esto?

 { "compilerOptions": { "module": "commonjs", "declaration": true, "removeComments": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "allowSyntheticDefaultImports": true, "target": "es2017", "sourceMap": true, "outDir": "./dist", "baseUrl": "./", "incremental": true, "skipLibCheck": true, "strictNullChecks": false, "noImplicitAny": false, "strictBindCallApply": false, "forceConsistentCasingInFileNames": false, "noFallthroughCasesInSwitch": false } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La actualización de tsconfig "módulo" y "objetivo" a "ES6" resolvió el problema.

Pero después de eso, las importaciones dejaron de funcionar sin extensión.

Así que tuve que agregar ".js" en la importación a pesar de que eran archivos ".ts".

por ejemplo, tuve que importar el archivo app.module.ts de la siguiente manera (extensión de aviso).

import { AppModule } from './app.module.js';

about 4 years ago · Juan Pablo Isaza Denunciar

0

Según los comentarios a su pregunta, parece que también está usando Babel. Tanto el tipo de "módulo" como Babel no funcionarán juntos.

Además, como mencionó @Teemu, debe usar la sintaxis export default {} en lugar de module.exports para una exportación de estilo ES6.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda