¿Cómo usar las definiciones de Typecript para obtener Intellisense para mis propios servicios de Javascript en VS Code?

Estoy desarrollando un servidor back-end usando SailsJS. Básicamente, inyecta todos los servicios auxiliares modelo, así como mis propios servicios en el espacio de nombres global. Me beneficiaría enormemente si pudiera obtener Intellisense para esos servicios.

Primero configurotipings e instaló definiciones de tipo global para lodash y nodo. Funciona como un encanto después de crear unjsconfig.json ytsconfig.json archivos

A continuación, quería crear un archivo de definiciones básicas para mis propios servicios. Creé un directorio entipings / globals con unindex.d.ts archivo en ella:

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

Esto es solo para asegurarme de que no pierda el tiempo escribiendo definiciones si no funcionan.

Luego incluí esoindex.d.ts presentar entypings / index.d.ts agregando una etiqueta de referencia:

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

Para mi sorpresa, no funciona en los archivos Javascript de mi proyecto. Al escribirfoo. obaz. No obtengo ningún Intellisense sensible.

 

El único soporte de Intellisense que pude obtener fue cuando importé esos servicios en cada archivo a través de:

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

o

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

pero esto no usa los archivos de definición de Typescript y solo me da las propiedades exportadas. En general, un resultado no deseable.

 

Me pregunto cómo hacer que funcione correctamente. Miré los archivos de definición de tipo de nodo y lodash y hacen lo mismo: declaran una variable / espacio de nombres con un tipo específico. Sin embargo, sus definiciones funcionan en Javascript y las mías no. ¿Cómo hacerlo bien?

Respuestas a la pregunta(3)

Su respuesta a la pregunta