2017-06-05 1 views
2

Je suis nouveau à Typescript et Angular 2. Je dois installer une dépendance npm et l'utiliser dans mon application angulaire 2.Impossible de trouver les dactylographiés.d.ts et déclarer les modules dans l'application tapuscrite angulaire 2

La dépendance est https://www.npmjs.com/package/ng2-stomp-service

J'ai installé les paquets nécessaires, mais je dois ajouter ce qui suit à mon dossier typings.d.ts

declare module 'stompjs'; 
declare module 'sockjs-client'; 

Je ne peux pas trouver le fichier typings.d.ts dans mon projet.

Je l'ai essayé ce qui suit jusqu'à présent,

npm install typings --global 
npm install @types/stompjs 
npm isntall @types/sockjs-client 
typings install dt~stompjs --save 
typings install dt~sockjs-client --save 

Je fichier typings.json avec le contenu,

{ 
    "dependencies": { 
    "sockjs-client": "registry:dt/sockjs-client#1.0.3+20160727010356", 
    "stompjs": "registry:dt/stompjs#2.3.0+20161111105645" 
    } 
} 

Quand je lance mon application angulaire 2 avec npm start il jette erreur comme suit

ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (27,2): Member 'config' implicitly has an 'any' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (36,2): Member 'queuePromises' implicitly has an 'any[]' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (83,32): Parameter 'str' implicitly has an 'any' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (132,53): Parameter 'response' implicitly has an 'any' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (27,2): Member 'config' implicitly has an 'any' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (36,2): Member 'queuePromises' implicitly has an 'any[]' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (83,32): Parameter 'str' implicitly has an 'any' type. 
ERROR in D:/Userfiles/subramanians/projects/hand-cricket/node_modules/ng2-stomp-service/dist/stomp.service.ts (132,53): Parameter 'response' implicitly has an 'any' type. 

Je ne suis pas sûr de ce qui cause le problème, je suppose que je t parce que je n'ai pas déclaré les modules dans typings.d.ts

S'il vous plaît aviser. Je vous remercie.

Répondre

1

Il semble que votre compilateur Typescript essaie de compiler des fichiers à partir du répertoire node_modules.

S'il vous plaît assurez-vous que cette règle hors de votre fichier tsconfig.json:

{ 
    "compilerOptions": {}, 
    "exclude": [ 
    "node_modules" 
    ] 
} 

btw. vous avez juste besoin de l'un des @types et typings. Le second est obsolète, tout ce dont vous avez besoin est le bon @types paquets inclus dans vos dev dépendances. J'espère que cela aide!

EDIT: Je pense qu'il ne devrait pas y avoir de fichiers Tapuscrit dans paquet NPM, donc je l'ai créé un sujet avec correctif sur ce dépôt de la github: https://github.com/devsullo/ng2-STOMP-Over-WebSocket/issues/5

3

Si vous n'utilisez pas une nouvelle version de angulaire, vous pouvez trouver le fichier typings.d.ts dans votre projet. Ma suggestion est de mettre à jour votre projet à l'aide angulaire CLI https://cli.angular.io/

0

Mes deux cents à cette conversation:

Dans votre fichier tsconfig.json assurez-vous que vous avez le droit chemin pour votre fichier typings.d.ts

"typeRoots": [ " node_modules/@ types", " ../src/typings.d.ts" ],