Estoy tratando de crear el servidor express para mi proyecto en un módulo externo. Todo funciona bien hasta que intento hacer algo con el objeto de la app en mi archivo principal.
servidor.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;índice.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") }); Intellisense marca la parte de get como un error con la nota Property 'get' does not exist on type 'Server'. . Tal vez esto tenga algo que ver conmigo usando clases y constructores en lugar de funciones, pero estoy tratando de usar una clase aquí.