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

230
Vistas
Problema al importar un módulo desde una aplicación Express en un script fuera de Express

Tengo una aplicación Vanilla Express cuyo paquete.json se ve así:

 { "name": "express-app", "version": "1.0.0", "main": "app.js", "dependencies": { ... }, "devDependencies": { ... }, "scripts": { ... }, }

Y quiero escribir un script fuera de la aplicación Express que importe un módulo de la aplicación Express. El módulo reside en ./src/model/Example.js Ese módulo también importa varios otros módulos.

El script se encuentra en ./scripts/test.mjs y hace lo siguiente:

import Example from '../src/models/Example.js';

Sin embargo, obtengo esto en la primera importación de Example.js :

 SyntaxError: Cannot use import statement outside a module

¿Cómo estructuro esto de modo que el script pueda importar el módulo correctamente?

over 4 years ago · Santiago Trujillo
4 Respuestas
Responde la pregunta

0

Es porque su proyecto en Vanilla JS, la declaración de importación no va a funcionar. Puede usar parcelajs , un paquete de configuración cero que admite la sintaxis ES6 y superior para usarlo primero, agréguelo como una dependencia de desarrollo ejecutando

 npm install parcel-bundler --save-dev

Y luego agregue scripts a su package

 { "scripts": { "dev": "parcel <your entry file>", "build": "parcel build <your entry file>" } }

reemplace el archivo de entrada con su archivo principal en su código (ejemplo: app.js )

over 4 years ago · Santiago Trujillo Denunciar

0

has probado

 const Example = require('../src/models/Example.js')
over 4 years ago · Santiago Trujillo Denunciar

0

La forma moderna de hacerlo es en yow package.json Agregar un tipo de llamada de propiedad y establecer el valor del módulo

 { “name”;”project name”, … “type”;”module”, … “dependencies”:”….”, }

de forma predeterminada, nodejs procesa el código de yow como tipo: commons. Es por eso que dice que no puede usar la importación fuera de un módulo, porque yow package.json marca implícitamente los códigos de yow como tipo commonjs. Entonces, después de configurar el tipo de módulo, debe cambiar la extensión de los archivos JavaScript, de .js a .mjs . Sí, acertaste, la m es del módulo. Puede hacer esto o configurar Babel, webpack, mientras encuentra el santo grial y cualquier otra cosa que lo necesite.

over 4 years ago · Santiago Trujillo Denunciar

0

¿Intentó usar un enfoque monorepo usando algo como Lerna.

https://lerna.js.org/

Para que pueda crear módulos y dependencias directamente dentro de su repositorio.

over 4 years ago · Santiago Trujillo 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