phpstorm ungelöste Funktion oder Methode $ ()

78

Ich habe folgendes Problem: phpstorm erkennt keine jquery-Methoden und hier und da sehe ich

Geben Sie hier die Bildbeschreibung ein

Ungelöste Funktion oder Methode $ ()

Das nervte mich für einige Zeit, aber schließlich versuchte ich es mit Datei-> Einstellungen-> JavaScript-> Bibliotheken loszuwerden und jquery als globales / Projekt hinzuzufügen.

Mein Bibliotheks-Setup sieht folgendermaßen aus:Geben Sie hier die Bildbeschreibung ein

Hat aber nichts geändert. Ich sehe immer noch diese nervigen Notizen. Weiß jemand, wie man sie loswird?

Salvador Dali
quelle
2
Bitte zeigen Sie einen Screenshot Ihres Bibliotheks-Setups für jQuery.
LazyOne
OK .. Sie verwenden also jQuery v1.11. Ich sehe das gleiche Verhalten bei der Verwendung von 1.11.0 .. aber 1.10.2 funktioniert einwandfrei . Ich denke, es hat etwas mit "AMD-fy jQuery source" zu tun - bugs.jquery.com/ticket/14113 - es sieht so aus, als hätte IDE einige Probleme, diesen Stil herauszufinden. Wenn Sie möchten (und können) - rollen Sie zurück zu Version 1.10.2 - Änderungen sind dort nicht so dramatisch / kritisch.
LazyOne
1
Aktuelles Ticket: youtrack.jetbrains.com/issue/WEB-10908
LazyOne

Antworten:

120

Es gibt eine wirklich dumme Problemumgehung,

Laden Sie die Bibliothek ( in diesem Fall jQuery ) aus der IDE selbst herunter .

  • Einstellungen öffnen ( Strg + Alt + S unter Linux )
  • Navigieren Sie zu Languages ​​& Frameworks -> Javascript -> Libraries
  • Klicken Sie auf Download und wählen Sie jQuery

Hoffentlich verschwinden die Fehler

Prost

BEARBEITEN: Nachdem ich die IDE über Fiddler ausgeführt hatte , wurde mir klar, dass dies das Problem nur aufgrund der Version löst, die die IDE herunterlädt.

Die richtige Problemumgehung besteht darin, ältere Nicht-AMD-jQuery-Versionen als Bibliothek mit globalem Gültigkeitsbereich hinzuzufügen und die neueste als Bibliothek mit Projektbereich hinzuzufügen.

Die neuesten Nicht-AMD-Versionen sind:

1.10.2 für die 1.x-Serie. Und 2.0.0 für die 2.x-Serie.

trve.fa7ad
quelle
4
Eine so dumme Problemumgehung, dass es sich fast so anfühlt, als wollten Phpstorm-Entwickler, dass wir sie tatsächlich so verwenden ...
Félix Gagnon-Grenier
Ab PhpStorm 8 finden Sie dies unter Einstellungen -> Sprachen & Frameworks -> JavaScript -> Bibliotheken
simontemplar
Ja gut, sie sagten, pStorm 8.0.2 soll dieses Problem bereits gelöst haben
trve.fa7ad
Dieselbe Frage, die ich getestet habe und die funktioniert, danke für Ihre Hilfe
Ahmed C
11

Ich hatte das gleiche Problem mit Version 1.11.2 und löste es einfach durch Hinzufügen der unkomprimierten Version zu meinem js-Ordner.

Bitweises Creative
quelle
Hätte die Antwort sein sollen. Ich habe die nicht komprimierte jquery-Version direkt neben meiner komprimierten jquery min hinzugefügt. Anschließend wird die unkomprimierte Version sofort zu meiner .gitignore-Datei hinzugefügt, sodass meine Produktion immer die min-Version verwendet.
ConfusedDeer
3

Die jQuery v1.11.0 zeigt auch hier genau das gleiche Verhalten. Gleichzeitig funktioniert die vorherige Version 1.10.2 in der IDE einwandfrei (keine Warnungen).

Ich denke, es hat etwas mit dem Ticket "AMD-fy jQuery source" ( http://bugs.jquery.com/ticket/14113 ) zu tun - anscheinend hat IDE einige Probleme, diesen Stil herauszufinden.

Wenn Sie möchten (und können), kehren Sie zu jQuery v1.10.2 zurück (das ist wie ein halbes Jahr alt, was bedeutet, dass es stabil und dennoch gut zu verwenden ist).

Hoffentlich kann IDE diesen neuen jQuery-Stil in der nächsten Version ordnungsgemäß analysieren.


Aktuelles Ticket: http://youtrack.jetbrains.com/issue/WEB-10908

LazyOne
quelle
Dies ist keine Lösung. Das Importieren von jQuery aus der IDE hat bei mir funktioniert.
David Jashi
3

Kopieren Sie einfach die unkomprimierte Version von jQuery in Ihren Projektordner. Sie müssen es nicht einmal in Ihr Projekt importieren, sondern einfach in den Javascript-Ordner kopieren.

Mostafa Mohammadzadeh
quelle
1

Wenn Sie sowohl 1.11.0 als auch 1.10.2 in phpstorm importieren, wird dies behoben

Sie müssen Ihr Projekt nicht zurücksetzen.

pHoutved
quelle
Hmm .. habe das versucht (obwohl es 1.10.4 ist, das ich hinzugefügt habe - konnte 1.10.2 nicht finden) und es gibt mir immer noch den Fehler. Irgendwelche Vorschläge?
Lee Fuller
Alles nach 1.10.2 wird nicht funktionieren, das ist die letzte Nicht-AMD-Version, die sie veröffentlicht haben
trve.fa7ad