Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

148
Views
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 answers
Answer question

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 Report

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 Report

0

has probado

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

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!