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?


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

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.


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.


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


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.


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.