phpstorm невирішена функція або метод $ ()


79

У мене така проблема: phpstorm не розпізнає методи jquery, і тут і там я бачу

введіть тут опис зображення

Невирішена функція або метод $ ()

Це мене якось нервувало, але нарешті я спробував позбутися цього за допомогою Файл-> Налаштування-> JavaScript-> Бібліотеки та додавши jquery як глобальний / проект.

Налаштування моєї бібліотеки виглядає так:введіть тут опис зображення

Але це нічого не змінило. Я все ще бачу ці докучливі повідомлення. Хтось знає, як від них позбутися?


2
Покажіть знімок екрана налаштування вашої бібліотеки для jQuery.
LazyOne

Добре .. отже, ви використовуєте jQuery v1.11. Я бачу таку ж поведінку при використанні 1.11.0 .. але 1.10.2 чудово працює . Думаю, це пов’язано із «джерелом AMD-fy jQuery» - bugs.jquery.com/ticket/14113 - схоже, IDE має деякі проблеми з з’ясуванням цього стилю. Якщо ви хочете (і можете) - поверніться до v1.10.2 - зміни там не такі різкі / критичні.
LazyOne

1
Фактичний квиток: youtrack.jetbrains.com/issue/WEB-10908
LazyOne

Відповіді:


122

Є справді дурне обхідне рішення,

Завантажте бібліотеку ( в даному випадку jQuery ) із самої IDE.

  • Відкрити налаштування ( Ctrl + Alt + S в Linux )
  • Перейдіть до Мови та рамки -> Javascript -> Бібліотеки
  • Клацніть Завантажити та виберіть jQuery

Сподіваємось, помилки зникнуть

Ура

EDIT: Після запуску IDE через Fiddler я зрозумів, що це вирішує проблему лише через версію, яку IDE завантажує.

Отже, правильним обхідним шляхом є додавання старих версій jQuery, які не належать до AMD, як бібліотеки глобального масштабу та додавання останньої як бібліотеки обсягу проекту.

Останні версії, що не належать до AMD:

1.10.2 для серії 1.x. І 2.0.0 для серії 2.x.


4
настільки дурне обхідне рішення, що майже здається, що розробники phpstorm хотіли, щоб ми насправді використовували такий спосіб ...
Фелікс Ганьон-Греньє

Починаючи з PhpStorm 8, це можна знайти в Налаштування -> Мови та фреймворки -> JavaScript -> Бібліотеки
simontemplar

так, вони сказали, що pStorm 8.0.2 вже має вирішити цю проблему
trve.fa7ad

Те саме питання, я його перевірив, і воно працює, дякую за допомогу
Ахмед С

11

У мене була та ж проблема з версією 1.11.2, і я вирішив її просто додавши нестиснуту версію до моєї папки js.


Це мала бути відповідь. Я додав нестиснуту версію jquery безпосередньо біля мого стиснутого jquery min. Після цього негайно додається нестиснута версія до мого файлу .gitignore, тому в моїй версії завжди використовується мінімальна версія.
ConfusedDeer

4

Просто скопіюйте нестиснуту версію jQuery у папку проекту. Вам навіть не потрібно імпортувати його у свій проект, просто скопіюйте в папку javascript.


3

JQuery v1.11.0 і тут демонструє точно таку ж поведінку. У той же час попередня версія 1.10.2 чудово працює в IDE (без попереджень).

Думаю, це пов’язано із квитком «AMD-fy jQuery source» ( http://bugs.jquery.com/ticket/14113 ) - схоже, IDE має деякі проблеми з з’ясуванням цього стилю.

Якщо ви хочете (і можете) - поверніться до jQuery v1.10.2 (який виглядає як півроку, це означає, що він стабільний і все ще хороший у використанні).

Сподіваємось, IDE зможе належним чином проаналізувати цей новий стиль jQuery у наступному випуску.


Фактичний квиток: http://youtrack.jetbrains.com/issue/WEB-10908


Це НЕ рішення. Імпорт jQuery з IDE працював у мене.
David Jashi

1

Якщо ви імпортуєте як 1.11.0, так і 1.10.2 у phpstorm, це буде вирішено

Вам не потрібно відмовляти свій проект.


Хм .. спробував це (хоча я додав 1.10.4 - не вдалося знайти 1.10.2), і все ще видає мені помилку. Будь-які пропозиції?
Lee Fuller

все після 1.10.2 не буде працювати, це остання версія, що не є AMD, яку вони випустили
trve.fa7ad
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.