Проверка JS PhpStorm - переменная JS, поступающая из бэкэнда - PullRequest
0 голосов
/ 19 мая 2019

Я хотел потратить некоторое время на «очистку» личного приложения, удаление большинства предупреждений и т. Д.

Как указано в заголовке, я использую IDE PhpStorm и у меня есть некоторые предупреждения «Неразрешенная переменная»слизняк ", когда я использую series.slug.Переменная series происходит из JSON из класса PHP или после вызова Ajax.

Есть ли способ указать свойства объекта или связать переменную js с классом PHP (как в Twig)?

PS В моих «Настройках> Языки> JS> Инструменты качества кода» у меня ничего не включено, у меня просто «базовая» проверка PhpStorm.

1 Ответ

1 голос
/ 19 мая 2019

Если вы используете в своем коде какой-либо объект с ключами, которые известны только во время выполнения (сгенерированы, получены через вызов ajax и т. Д.), То IDE не сможет разрешить их с помощью статического анализа кода. Но вы можете сообщить IDE, как выглядят ваши данные во время выполнения. Возможное решение с использованием аннотаций JSDoc:

/**
 * @typedef {Object} series
 * @property {string} slug
 * ... other series props here....
 */
...

/**
 * function that uses series data
 * @param {series} data
 */
function foo (data){...}

См. Также https://youtrack.jetbrains.com/issue/WEB-17419#comment=27-1058451, https://intellij -support.jetbrains.com / hc / en-us / community / posts / 206349469-disable-unresolved-variable-on-json-object-receive- by-ajax-call для других возможных решений

...