Utilizzando Express () con dattiloscritto

voti
4

Voglio usare la versione più recente di Expess con node.js a macchina. I express.d.ts forniti da Microsoft nei campioni sembra essere costruito su un versioni precedenti alla 3.0.x. Nella versione precedente si potrebbe fare

var app = express.createServer()

ma dopo 3.0.x si dovrebbe fare:

var app = express();

Express.d.ts non supporta questo ... ho trovato un hack intorno a questo: ho aggiunto la seguente linea al Express.d.ts:

export function(): any;

In app.tsquando voglio creare l'oggetto applicazione faccio la seguente:

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

Questo sembra risolvere il problema, è la compilazione senza un errore, e anche io ottenere supporto IntelliSense. Tuttavia questo è un hack ... Prima di tutto perché non riesco a scrivere qualcosa di simile?

export function(): ExpressServer;

E 'questo il modo consigliato di risolvere questo problema?

È pubblicato 03/10/2012 alle 14:56
fonte dall'utente
In altre lingue...                            


4 risposte

voti
7

Piuttosto vecchio discussione, ma ho incontrato lo stesso problema da poco e ha scoperto che v'è una nuova express.d.tsche supporta correttamente Express 3 sul DefinitelyTyped sito.

Risposto il 14/08/2013 a 03:42
fonte dall'utente

voti
2

Si dovrebbe essere in grado di aggiungere questa dichiarazione di funzione ambiente per express.d.tsottenere ciò che si desidera.

declare function express(): ExpressServer;

Risposto il 03/10/2012 a 15:09
fonte dall'utente

voti
0

se si dichiara expressin questo modo: import * as express from "express", si otterrà questo errore in fase di esecuzione, dichiarando in questo modo: const express = require "express", non gettare alcun errore.

Inoltre, non dimenticare di dichiarare il apptipo di variabile o proprietà comeexpress.Application

Risposto il 01/05/2019 a 14:32
fonte dall'utente

voti
-1

Ecco un progetto di esempio - 4.x app espresso a macchina: https://github.com/czechboy0/Express-4x-Typescript-Sample

Risposto il 22/03/2015 a 18:12
fonte dall'utente

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