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?