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

144
Vistas
Is there a way to return express instances in TypeScript classes?

I'm trying to create the express server for my project in an external module. Everything works fine until I try to do something with the app object in my main file.

server.ts:

import express from "express";
import OutputLevel from "../types/OutputLevels";

class Server {
    /**
     * Creates an express web server
     * @param {Number} port The port the server is listening on
     * @param {OutputLevel} [outputLevel] The level of console output (commonly based on CLI arguments) {@link OutputLevel}
     * @returns {Express}
     */
    constructor(port: Number, outputLevel?: OutputLevel) {
        const app = express();
        app.listen(port, () => {
            if (outputLevel && outputLevel >= 2) console.log(`[Server @ ${port}] Listening @ http://localhost:${port}`);
        });
        return app;
    }
}

export default Server;

index.ts:

import Server from "./server/server";
import OutputLevel from "./types/OutputLevels";

let app = new Server(2020, OutputLevel.INFO);

app.get("/", (req, res) => {
    res.send("hello world")
});

The get part gets marked as an error by intellisense with the note Property 'get' does not exist on type 'Server'.. Maybe this has something to do with me using classes and constructors instead of functions, but I'm trying to use a class here.

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