2016-08-25 5 views
4

При импорте пакетов npm в мой проект в Visual Studio это всегда меня озадачивает, что иногда пакеты просто не распознаются независимо от того, сколько раз я обновляю папки.Visual Studio не распознает импортированный пакет npm?

enter image description here

Папка react-google-maps определенно в моей папке node_modules. Однако по какой-то причине Visual Studio не видит эту ошибку и подчеркивает ее как ошибку. И из-за этого все соответствующие intellisense также не появляются. Как ни странно, он действительно может распознать react!

Что нужно сделать, чтобы Visual Studio распознала новые пакеты, которые я только что установил через npm в консоли, чтобы импортировать их без подсвеченных ошибок?

+0

К сожалению, мне пришлось перейти к VS кодекса, потому что VS не поддерживает современные веб-разработки должным образом. 'Что я должен сделать, чтобы Visual Studio ... ... не так много, что вы можете сделать. – Rudy

+0

@ Rudy VS Code замечательный, но intellisense в VS-студии (даже их версия сообщества, которую я использую) превосходит ту, что в VS-коде. Когда я набираю код, он чувствует себя намного более отзывчивым. :( – Carven

ответ

0

Я верю, что ваша проблема заключается в том, что react-google-maps является модулем JavaScript. Чтобы импортировать модуль TypeScript, вам нужны некоторые примеры, переводящие JavaScript в TypeScript, например. из DefinitelyTyped репозитория.

Быстрый поиск не найден, такие типографии, почему я предполагаю, что вы не установили ни одной типографии для этого.

Существует два решения, если это так.

  1. Напишите типовые данные и передайте их определенному типу или реестру Типов. Это мой рекомендуемый подход. Отдайте что-нибудь обратно сообществу, написав типизацию и опубликовав ее для других.
  2. Объявите модуль в своем проекте, чтобы отключить импорт. Это не дает вам никакого IntelliSence, поэтому он только блокирует импорт.

Объявить модуль в проекте, добавить новый файл с именем react-google-maps.d.ts и вставьте в:

declare module "react-google-maps" { 
    export var GoogleMap; 
    export var Marker; 
} 
Смежные вопросы