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

340
Views
¿Cómo usar import junto con require en Javascript/Typescript?

Tengo index.ts y dentro tengo algo como:

 const start = () => {...}

Ahora tengo app.ts que se ve así:

 const dotenv = require('dotenv'); dotenv.config(); const express = require('express'); const app = express(); const server = require('http').createServer(app); const PORT = 4001 || process.env.PORT; server.listen(PORT, () => { console.log(`Server running on port ${PORT}`); // I want to import and call start like this : start() });

Mi package.json se ve así:

 { "name": "...", "version": "1.0.0", "description": "", "main": "index.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node app.ts" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { ... } }

y tsconfig.json :

 { "compilerOptions": { "target": "es5", "allowJs": true, "checkJs": true, "outDir": "./built", "allowSyntheticDefaultImports": true, "module": "CommonJS" } }

La cuestión es que no puedo usar la directiva de import con esta configuración, así que supongo que estoy haciendo algo mal.

Si uso import , obtengo:

Advertencia: para cargar un módulo ES, configure "tipo": "módulo" en el paquete.json o use la extensión .mjs.

Si pongo en package.json “type” : “module” , entonces obtengo:

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: extensión de archivo desconocida ".ts"

entonces, uno tira de otro...

¿Cómo importar esta función en app.ts desde index.ts ?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Documentación de módulos de TypeScript para su exportación = sugerencia de sintaxis (a menos que esté mal escrito)

 export = object_or_class

para permitir que el módulo se importe como un módulo CommonJS usando require en node.

Exportando un objeto usando export en index.ts :

 const exports = { start // plus any other exports as properties }; export = exports;

seguido de requerirlo en app.ts como

 const index = require(".directoryPath/index.js"); const start = index.start

puede resolver el problema.

about 4 years ago · Juan Pablo Isaza 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!