Kan ikke finde typings.d.ts og erklære moduler i Angular 2 TypeScript-app


Jeg er ny til Typescript og Angular 2. Jeg har brug for at installere en npm-afhængighed og bruge den i min Angular 2-app.

Afhængigheden er https://www.npmjs.com/package/ng2-stomp-service

Jeg har installeret de nødvendige pakker, men jeg skal tilføje følgende til min typings.d.ts-fil

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

Jeg kan ikke finde typings.d.ts-filen i mit projekt.

Jeg har indtil videre prøvet følgende,

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

Jeg har en typings.json-fil med indhold,

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

Når jeg kører min Angular 2-app med npm start, kaster den følgende fejl

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.

Jeg er ikke sikker på, hvad der forårsager problemet, jeg gætter på, at det er fordi, jeg ikke har erklæret modulerne i typings.d.ts

Venligst rådgiv. Tak.

Svar #1

Mine to øre til denne samtale:

I din tsconfig.json-fil skal du sikre, at du har den rigtige sti til din typings.d.ts-fil

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

Svar #2

Det ser ud til, at din Typescript-kompilator forsøger at kompilere filer fra node_modules-mappen.

Sørg venligst for, at du har denne udelukkelsesregel i din tsconfig.json-fil:

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

Forresten, du har kun brug for én af @types og typings. Den anden er forældet, alt hvad du har brug for er de rigtige @types pakker inkluderet i dine dev-afhængigheder. Håber det hjælper!

REDIGER: Jeg tror, der ikke burde være nogen Typescript-filer i npm-pakken, så jeg har oprettet et emne med løsning på dette repositories GitHub: https://github.com/devsullo/ng2-STOMP-Over-WebSocket/issues/5

Relaterede artikler