Selon this , le système de typages d'articles pour TypeScript 2.0 a changé et il est donc difficile de savoir comment attacher des typages personnalisés maintenant. Dois-je toujours créer un package NPM pour cela?
Merci d'avance!
Vous pouvez créer des typages personnalisés locaux uniquement pour votre projet, où vous pouvez déclarer des types pour les bibliothèques JS. Pour cela, vous devez:
Créez une structure de répertoire pour conserver vos fichiers de déclaration de type afin que votre structure de répertoire ressemble à ceci:
.
├── custom_typings
│ └── some-js-lib
│ └── index.d.ts
└── tsconfig.json
Dans le index.d.ts
fichier, ajoutez une déclaration pour votre bibliothèque JS:
declare module 'some-js-lib' {
export function hello(world: string): void
}
Ajoutez une référence à cette déclaration de type dans la section compilerOptions
de votre tsconfig.json
:
{
"compilerOptions": {
...
"typeRoots": ["node_modules/@types", "custom_typings"]
},
...
}
Utilisez le module déclaré dans votre code:
import { hello } from 'some-js-lib'
hello('world!')
En supposant que votre paquet js externe soit installé sous node_modules, je pense qu'il y a deux options:
fournissez un TypeScript fichier de déclaration dans le paquet, et ajoutez-y une référence:
// node_modules/secret-package/index.d.ts
export interface SecretInterface {
// ¯\_(ツ)_/¯
}
Et référencez le fichier de typages dans le package.json:
// node_modules/secret-package/package.json
{
...,
"typings": "./index.d.ts",
...,
}
augmentez le module dans un fichier de déclaration de votre projet
// index.d.ts
declare module 'secret-package' {
interface SecretInterface {
// ¯\_(ツ)_/¯
}
}