Como usar definições de Typecript para obter o Intellisense para meus próprios serviços Javascript no VS Code?

Estou desenvolvendo um servidor back-end usando o SailsJS. Basicamente, ele injeta todos os serviços auxiliares de modelo, bem como meus próprios serviços, no espaço de nomes global. Seria muito útil se eu pudesse obter o Intellisense por esses serviços.

Eu configurei primeirotipografias e instalou definições de tipo global para lodash e nó. Funciona como um encanto depois de criar umjsconfig.json etsconfig.json arquivos.

Em seguida, quis criar um arquivo de definições básicas para meus próprios serviços. Eu criei um diretório emtipografias / globais com umindex.d.ts arquivo nele:

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

Isso é apenas para garantir que eu não perca tempo escrevendo definições se elas não funcionarem.

Em seguida eu incluí issoindex.d.ts arquivo emtypings / index.d.ts adicionando uma tag de referência:

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

Para minha surpresa, ele não funciona nos arquivos Javascript do meu projeto. Ao digitarfoo. oubaz. Eu não entendo nenhum Intellisense sensato.

 

O único suporte ao Intellisense que consegui foi quando importei esses serviços em todos os arquivos via:

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

ou

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

mas isso não usa os arquivos de definição do TypeScript e apenas fornece as propriedades exportadas. No geral, um resultado não desejável.

 

Gostaria de saber como fazê-lo funcionar corretamente. Eu olhei para os arquivos de definição de tipo de nó e lodash e eles fazem o mesmo: declarar uma variável / namespace com um tipo específico. No entanto, suas definições funcionam em Javascript e as minhas não. Como acertar?

questionAnswers(3)

yourAnswerToTheQuestion