0

J'ai quelques modifications que je dois apporter à certains fichiers de définition de type. Jusqu'à présent, j'ai fait ces modifications manuellement - un peu pénible si j'efface mon répertoire node_modules et redémarre, ou si j'installe mon code sur une nouvelle machine. Mais les changements sont seulement petits et cela a fonctionné. Cependant maintenant je veux construire mon code using un service qui appelle l'installation de npm dans le cadre du processus de construction - bien sûr mes modifications sont inconnues à ce processus. J'ai inclus une des modifications que je dois faire ci-dessous:Définitions de Typescript Modification

Add the following: 
adapter(param1: string, param2: any): Static; 

After the first line in node_modules\@types\pouchdb-core\index.d.ts in the following Interface: 
interface Static extends EventEmitter 

In order to avoid an error with the following statement in data-service.ts: 
PouchDB.adapter('writableStream', replicationStream.adapters.writableStream); 

Ma question est de savoir comment puis-je faire ce type de modification en dehors de mon répertoire node_modules afin que le processus de construction externe connaître les modifications requises . J'utilise Ionic 2 qui utilise Webpack.

+0

Il serait utile de voir comment vous importez les modules que vous souhaitez modifier. –

+0

@JamesMonger J'utilise une simple instruction d'import pour PouchDB: import PouchDB de 'pouchdb'; – daveywc

+0

Pour l'un de mes projets, j'ai ajouté une étape "postinstall" dans mon package.json qui exécute un script bash pour effectuer les modifications. La bonne façon de le faire serait probablement de fourchette le repo. –

Répondre

0

Je trouve que je pouvais résoudre ce problème particulier en ajoutant ce qui suit à mon fichier declarations.d.ts:

declare namespace PouchDB { 
    interface Static { adapter: any; } 
} 
+0

Votre fichier 'declarations.d.ts' est-il dans le contrôle de source? –