2016-03-16 17 views
16

Próbuję użyć expressjs w mojej aplikacji.Jak zainstalować ekspres w typach?

Po zainstalowaniu go za pomocą typings install express --ambient --save, biegnę tsc, ale mam dwa błędy:

typings/main/ambient/express/index.d.ts(17,34): error TS2307: Cannot find module 'serve-static'. typings/main/ambient/express/index.d.ts(18,27): error TS2307: Cannot find module 'express-serve-static-core'.

Więc próbowałem zainstalować zarówno:

typings install serve-static --ambient --save 
typings install express-serve-static --ambient --save 

a następnie uruchomić ponownie TSC, ale Uzyskaj jeszcze jeden błąd:

typings/main/ambient/serve-static/index.d.ts(79,24): error TS2307: Cannot find module 'mime'.

Jak mogę rozwiązać te problemy? Jak mogę automatycznie zainstalować wszystkie zależności ekspresowe?

Odpowiedz

8

po prostu wpadł na ten sam i wierzę, że jest duplikatem od:

Importing node and express with typings in TypeScript

Zainstalowałem oba służą-statyczne i wyrazić-serve-statyczne następnie dostał błędy stwierdzające, że mi brakuje „mim” i "http".

Musiałem zainstalować typy węzłów, aby rozwiązać brakujące referencje http i mime, aby rozwiązać brakujące referencje MIME.

typings install mime --ambient --save 
typings install node --ambient --save 
+8

Z typowania 1.0, wierzę, że to jest teraz: 'typowania zainstalować dt ~ mim --global --save' –

+0

A teraz (paź 2016) jest prawidłowa komenda' typowania zainstalować mime --global --save --source dt' –

10
{ 
    "globalDependencies": { 
    "express": "registry:dt/express#4.0.0+20160708185218", 
    "express-serve-static-core": "registry:dt/express-serve-static-core#4.0.0+20160715232503", 
    "mime": "registry:dt/mime#0.0.0+20160316155526", 
    "node": "registry:dt/node#6.0.0+20160621231320", 
    "serve-static": "registry:dt/serve-static#0.0.0+20160606155157" 
    } 
} 

To jest moja praca Typings.json

+1

Cały ten czas .... w moim typings.json dla mojego błędu: -> "rejestr: dt/express-serve-static-core # 0.0.0 + 20160715232503" jakoś dostałem wersję 0.0.0 i musiałem ręcznie zmienić ją na 4.0.0, a następnie uruchomić typings install dt ~ express-serve-static-core --global - zapisz –

+0

Dlaczego te nie są zainstalowane razem z ekspresowym? Czy są to zależności równorzędne? – d512

5

Komenda że pracował dla mnie (dzień napisałem) była następująca: typings install dt~express --global --save (otoczenia został zastąpiony przez globalne)

Aby znajdź inny powiązany moduł, możesz użyć polecenia typings search express (podaję również informacje o źródle)

17

Wit h Typescript 2.0 (https://blogs.msdn.microsoft.com/typescript/2016/09/22/announcing-typescript-2-0/), teraz jest inaczej:

Jeśli zainstalujesz maszynopis za pomocą następującego polecenia:

npm install -g [email protected]

trzeba będzie zainstalować ekspresowych typowania z poleceniem

npm install --save @types/express

Zamiast typings instalowany z ambient/global jak we wcześniejszych wersjach. Do typowania instalowane w node_modules/@types/express katalogu

Twój package.json będzie mieć następujący fragment po zrobieniu npm install z types:

"dependencies": { 
    "@types/express": "^4.0.33" 
    } 
+0

Czy wersja '@ types/express' musi być taka sama jak wersja' express'? – Jas

0

I'v uruchomić w tej kwestii się i okazało się, trzeba także mieć rzeczywisty moduł nodeJS zainstalowany, a także jego typowanie.

Tak więc, gdy masz poprawnie skonfigurowany maszynopis i swój projekt, musisz zainstalować zarówno zależność nodeJS, jak i zależność @types.

npm install express --save

npm install --save @types/express