javascript - Typescript 2: Anpassad typdefinition i node_modules
Låt oss säga att jag publicerar ett eget bibliotek kallat my-library. Detta bibliotek kommer att ha strukturen
node_modules/
my-library/
lib/
index.js
src/
...
typings/
index.d.ts
package.json
Säg nu att jag exporterar som standard något som kallas Application från index.js, så använder du det med import Application från 'my-library';
Nu vill jag i min index.d.ts deklarera dess typning:
export = Application;
export as namespace Application;
declare namespace Application {
function foo(arg1: string): object;
}
Jag vet att jag förväntar mig att detta ska ge ett fel men det gör det inte:
import Application from 'my-library';
Application.foo(123)[0].blahblah;
Inte nog med att argumentet är fel, även användningen av returvärdet är fel. Jag vet inte hur jag ska lägga till mina typdefinitioner så att ovanstående fungerar.
Svar #1
Du kan titta här för att se var Typescript letar efter definitioner.
Det du förmodligen vill göra är att lägga till en types i din package.json för att peka på en anpassad definitionsfil.
{
"types": "typings/index.d.ts",
}
