2013-03-18 7 views
22

Po wykonać express mysite i `` npm zainstalować -d` Otworzyłem wygenerowany katalog z WebStorm następujące metody Express nie są rozpoznawane przez IDE:Jak naprawić WebStorm nie rozpoznając niektórych właściwości Node.js Express?

app.use(express.favicon()); 
app.use(express.logger('dev')); 
app.use(express.bodyParser()); 
app.use(express.methodOverride()); 

Jak to naprawić?

Uwaga: IDE był w stanie rozpoznać wiele nowych rzeczy po tym, jak zrobiłem this i dodać katalog modułów jako bibliotekę JavaScript w ustawieniach, ale nadal nie rozpoznaje wyżej wymienionych metod. Patrz zdjęcie, aby zobaczyć co IDE uznawane dotychczas enter image description here

W poniższym obrazie widać, co nie IDE jeszcze rozpoznać:

enter image description here

+6

Po kliknięciu prawym przyciskiem myszy w edytorze, wybierz opcję „Użyj biblioteki JavaScript” i wybrać wersję Węzła masz setup .. czy rozdzielczość działa? Jest to jedyna rzecz, którą zrobiłem, oprócz twojego kroku i ekspresowe ukończenie działa dobrze dla mnie. –

+0

@JimSchubert Dzięki za odpowiedź. To, co powiedziałeś, jest tylko innym sposobem pokazania i włączenia/wyłączenia bibliotek, które zdefiniowałem w ustawieniu IDE, o którym wspomniałem. Czy mówisz mi, że wpisujesz wyraz "express", a następnie naciskasz CTRL + Spacja i * favicon *, * logger *, * bodyParser * wyświetlasz? i nie są one oznaczone jako problematyczne w IDE, ponieważ są one w moim IDE? Pls, spójrz na oba obrazy, które podałem i daj mi znać. –

+0

Po prostu wyglądałem, a ja * nie * mam wypełnienia na właściwościach ekspresowych lub funkcjach, ale nie jest ono również wyświetlane w WebStorm jako problematyczne. Najeżdżanie kursorem na funkcje oprogramowania pośredniego pokazuje, że funkcja nie została rozwiązana. To dość dziwne. –

Odpowiedz

14

Dotyczy to almostly jakiegokolwiek projektu JS tam. Należy wyraźnie określić właściwości obiektu lub zapisu JSDocs:

/** 
* @memberOf myLib 
* or 
* @name  myLib.MyDynamicallyLoadedModule 
*/ 
var MyDynamicallyLoadedModule = {}; 

Inaczej WebStorm nie może zrozumieć, że mają właściwości dynamicznych.

(tak, wiem, że odnosząc się wyrazić, ale to jak WebStorm działa)

+1

Dzięki za wyjaśnienie. –

+1

Czy ktoś napisał już JSDocs for Express? –

+20

Możesz użyć kodu pośredniczącego ze strony https://github.com/borisyankov/DefinitelyTyped/blob/master/express/express.d.ts w WebStorm 7, w tym najnowszego EAP. Dodanie jej jako biblioteki można również wykonać w Ustawieniach | JavaScript | Biblioteki | Pobierz. – de1mar