Как заставить WebStorm правильно видеть функции пакетов?

Я перепробовал все, что мог придумать, чтобы заставить WebStorm включить пакет JOI в мой проект node.js, не выдавая предупреждения о проверке, когда я использую его функцию. Он отлично работает так, как я написал, и не вызывает ошибок во время выполнения. Я попытался обновить его, а также явно установить его в «Настройки> Языки и рамки> Javascript> Библиотеки».

Все мои другие библиотеки, которые я установил через NPM, работают нормально и не вызывают ошибок инспектора. Однако простое утверждение

joi.string()

Вызывает предупреждение «Неразрешенная функция или метод string()».

Как мне избавиться от этого? У меня есть целый файл проверки, поэтому игнорировать эту строку за строкой — не вариант.

Я пробовал это как со старой, так и с последней версией joi. Старая версия выглядит следующим образом:

const joi = require('joi');
const format = joi.string();

Более новая версия:

const joi = require('@hapi/joi');
const format = joi.string();

Оба вели себя точно так же в WebStorm и выдавали предупреждение о проверке.


person David    schedule 01.11.2019    source источник
comment
Какую @hapi/joi версию вы используете? И расскажите, пожалуйста, как вы импортируете @hapi/joi? Спасибо   -  person a1300    schedule 02.11.2019
comment
@ a1300 - Хороший вопрос. Я пробовал как старую версию, так и последнюю версию hapi. Оба выдали одно и то же предупреждение в WebStorm. Я отредактировал вопрос, чтобы включить эти детали.   -  person David    schedule 02.11.2019


Ответы (1)


Возможное решение

Я обнаружил следующую проблему с github: DefinitelyTyped#35440, которая должна быть связана с вашей проблемой.

Пожалуйста, установите новейший пакет @types для пакета @hapi/joi с помощью:

npm install --save @types/hapi__joi
person a1300    schedule 03.11.2019
comment
К сожалению, это не сработало. Из того, что я читал, казалось, что это должно было исправить, что библиотека вообще не работает, а не исправление предупреждений инспектора. - person David; 06.11.2019