En este fragmento de código en la función de uso, la cadena de ruta arroja este error.
La cadena de tipo de argumento no se puede asignar al tipo de parámetro RequestHandler<RouteParameters>
El tipo asignado no contiene firmas de llamada
¿Cómo debo usar los parámetros correctamente?
const express = require('express'); const app = express(); app.use('/test', (req, res, next) => { res.send('<h1>Test</h1>'); }); app.use('/', (req, res, next) => { res.send('<h1>Hello World</h1>'); }); app.listen(3000);Todo parece estar correcto, pero una cosa que me molesta es la forma en que está importando express. Si está utilizando typescript , debería estar importando así
import express from 'express'Parece que estás mezclando módulos commonjs con módulos mecanografiados/es6. Se compilan de manera diferente. Esta es la razón por la que recibe este error, porque cuando requirió express, no se resolvió en la función correcta que se puede ejecutar para obtener una instancia de la aplicación express.
Para hacer compatibilidad entre diferentes tipos de módulos, debe configurar TypeScript.
{ "compilerOptions": { "module": "commonjs", "esModuleInterop": true, "target": "es6", "moduleResolution": "node", "outDir": "dist", "baseUrl": ".", "paths": { "*": [ "node_modules/*" ] } }, "include": [ "src/**/*" ] }