En utilisant Express () avec tapuscrit

voix
4

Je veux utiliser la version la plus récente de Expess avec Node.js dactylographiée. Les express.d.ts fournies par Microsoft dans les échantillons semble être construit sur une version avant 3.0.x. Dans la version précédente, vous pouvez faire

var app = express.createServer()

mais après 3.0.x vous devez faire:

var app = express();

Express.d.ts ne supporte pas ... J'ai trouvé un hack autour: j'ai ajouté la ligne suivante à Express.d.ts:

export function(): any;

Dans app.tsquand je veux créer l'objet application que je fais ce qui suit:

var app = <express.ExpressServer>express();

Cela semble résoudre le problème, qu'il compile sans erreur, et aussi j'obtenir le soutien IntelliSense. Cependant c'est un hack ... tout d'abord pourquoi je ne peux pas écrire quelque chose comme ça?

export function(): ExpressServer;

Est-ce la méthode recommandée pour résoudre ce problème?

Créé 03/10/2012 à 14:56
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
7

Jolie vieille discussion, mais je suis tombé sur le même problème récemment et constaté qu'il ya une nouvelle express.d.tsqui prend en charge correctement express 3 sur le DefinitelyTyped site.

Créé 14/08/2013 à 03:42
source utilisateur

voix
2

Vous devriez être en mesure d'ajouter cette déclaration de fonction ambiante pour express.d.tsobtenir ce que vous voulez.

declare function express(): ExpressServer;

Créé 03/10/2012 à 15:09
source utilisateur

voix
0

si vous déclarez expresscette façon: import * as express from "express"vous obtiendrez cette erreur dans l' exécution, déclarant ainsi: const express = require "express", ne jeter aucune erreur.

En outre, ne pas oublier de déclarer le apptype de variable ou à la propriétéexpress.Application

Créé 01/05/2019 à 14:32
source utilisateur

voix
-1

Voici un exemple de projet - application Express 4.x dactylographiée: https://github.com/czechboy0/Express-4x-Typescript-Sample

Créé 22/03/2015 à 18:12
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more