Estoy usando un proyecto de TypeScript que hice yo mismo, pero tengo algunos problemas con las importaciones y exportaciones.
Tengo una carpeta de classes con cada clase que tiene su archivo específico que exporta la clase. Luego tengo un archivo index.ts , que importa todas las clases y las exporta desde un archivo para facilitar su uso en el código.
Persona.ts:
class Person {} export default Personíndice.ts:
import Person from "./Person" export { Person }aplicaciones.ts:
import { Person } from "@classes const person = new Person() El problema es que el código anterior no funciona y genera un error classes_1.Person is not a constructor
Estoy usando rutas de alias configuradas en tsconfig.json así:
"paths": { "@classes": ["classes"], "@interfaces": ["interfaces"], "@enums": ["enums"], "@const": ["const"] } No estoy usando el formato que se muestra en los documentos de TS: "@classes/*": ["classes/*"] ya que no es ideal para mi caso de uso.
Compilo el código con npx tsc && npx tsc-alias
Si observo el código .js transpilado, VSCode comprende todas las importaciones, pero si ejecuto la aplicación con el node ./dist/app.js , no funciona.
Tenía una dependencia circular entre los archivos. En index.ts estaba importando varias clases, que dependían entre sí de alguna manera. Lo arreglé moviendo la clase dependiente a la parte superior, por lo que la declaración de importación importa esa clase primero.