Bruke Express () med typescript

stemmer
4

Jeg vil bruke den nyeste versjonen av Expess med node.js i Loggfila. De express.d.ts fra Microsoft som i prøvene synes å være bygget på en versjoner tidligere 3.0.x. I forrige versjon kan du gjøre

var app = express.createServer()

men etter 3.0.x bør du gjøre:

var app = express();

Express.d.ts tillater ikke dette ... Jeg har funnet en hack rundt dette: Jeg har lagt til følgende linje i Express.d.ts:

export function(): any;

I app.tsda jeg vil opprette app objekt jeg gjøre følgende:

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

Dette ser ut til å løse problemet, er det kompilere uten feil, og også jeg få IntelliSense støtte. Men dette er en hack ... Først av alt hvorfor kan jeg ikke skrive noe sånt som dette?

export function(): ExpressServer;

Er dette den anbefalte måten å løse dette problemet?

Publisert på 03/10/2012 klokken 13:56
kilden bruker
På andre språk...                            


4 svar

stemmer
8

Ganske gammel diskusjon, men jeg løp inn det samme problemet nylig, og fant ut at det er en ny express.d.tssom ordentlig støtter uttrykkelig 3 på DefinitelyTyped nettstedet.

Svarte 14/08/2013 kl. 02:42
kilden bruker

stemmer
2

Du bør være i stand til å legge til denne ambient funksjonen erklæring til express.d.tså få det du ønsker.

declare function express(): ExpressServer;

Svarte 03/10/2012 kl. 14:09
kilden bruker

stemmer
0

hvis du deklarerer expressdenne måten: import * as express from "express"vil du få denne feilen i runtime, erklærte det på denne måten: const express = require "express"vil ikke kaste noen feil.

Også, ikke glem å erklære appvariabel eller eiendom type somexpress.Application

Svarte 01/05/2019 kl. 14:32
kilden bruker

stemmer
-2

Her er et eksempel prosjekt - Express 4.x app i Loggfila: https://github.com/czechboy0/Express-4x-Typescript-Sample

Svarte 22/03/2015 kl. 18:12
kilden bruker

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