Как использовать определения Typescript, чтобы получить Intellisense для моих собственных служб Javascript в VS Code?

Я занимаюсь разработкой внутреннего сервера с использованием SailsJS. Он в основном внедряет все вспомогательные службы моделей, а также мои собственные службы в глобальное пространство имен. Мне было бы очень полезно, если бы я мог получить Intellisense для этих услуг.

Я сначала настроилтипизации и установил глобальные определения типов для lodash и node. Это работает как шарм после созданияjsconfig.json а такжеtsconfig.json файлы.

Затем я хотел создать файл базовых определений для своих собственных сервисов. Я создал каталог втипизации / Глобал сindex.d.ts файл в нем:

declare namespace foo {
    export function bar();
}
declare var baz: { some: number };

Это просто для того, чтобы не тратить время на написание определений, если они не будут работать.

Далее я включил этоindex.d.ts файл втипизации / index.d.ts добавив ссылочный тег:

/// <reference path="globals/psiewakacje/index.d.ts" />

К моему удивлению, это не работает в файлах Javascript моего проекта. После вводаfoo. или жеbaz. Я не получаю никакого разумного Intellisense.

 

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

import * as InternalParser from '../services/InternalParser';

или же

var InternalParser = require('../services/InternalParser');

но это не использует файлы определения Typescript и просто дает мне экспортированные свойства. В целом нежелательный результат.

 

Интересно, как заставить его работать правильно. Я посмотрел на файлы определения типов узлов и lodash, и они делают то же самое: объявляют переменную / пространство имен с определенным типом. Однако их определения работают в Javascript, а мои - нет. Как сделать это правильно?

Ответы на вопрос(3)

Ваш ответ на вопрос