Как получить IntelliSense для внешних библиотек JavaScript с помощью ES5 и Visual Studio Code - PullRequest
0 голосов
/ 19 ноября 2018

Я работаю с проектом без транспортеров. Когда я хочу использовать внешнюю библиотеку и использовать intellisense в коде Visual Studio, мне нужно будет использовать импорт (который не будет работать с es5).

Пример: я хочу использовать библиотеку axios, поэтому я устанавливаю ее с помощью npm, добавляю ссылку на тег скрипта в axios.js и записываю код приложения в app.js. Я могу получить intellisense, когда я делаю это

import axios from 'axios';

но с es5 не получится.

Я нашел хакерский обходной путь, который дал бы мне intellisense, а не с ES5:

var axios = axios || require('axios').default;

Но, по крайней мере, для меня это выглядит слишком глупо только для intellisense:)

Я также заметил, что, например, jquery intellisense также работает без импорта, и думаю, что причина в том, что файл определения типа jquery не использует синтаксис модуля (экспорт), и вещи добавляются в глобальную область видимости. Поэтому мне также интересно, возможно ли каким-то образом создать свой собственный файл определения типа для добавления объектов в глобальную область видимости?

1 Ответ

0 голосов
/ 20 ноября 2018

Исследовал это дальше и обнаружил, что вы действительно можете просто создать свой собственный файл определения типа помощника, который будет импортировать типы в модуле в глобальную область видимости, чтобы использовать его в проекте ES5 с глобальной областью видимости:

Создайте файл global.d.ts (имя не имеет значения) в вашем проекте со следующим содержимым:

import { AxiosStatic } from "axios";

declare global {
  const axios: AxiosStatic;
}

Это заставит intellisense работать в глобальном контексте (в моем app.js) без использования импорта. Конечно, делайте это только тогда, когда вы действительно не можете использовать модули (глобально это плохо :))

Я посмотрю, смогу ли я убедить людей vscode (которые imho отлично справляются с этим текстовым редактором :)), что это может быть полезным дополнением и к документации vscode (https://github.com/Microsoft/vscode/issues/63494)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...