TypeScriptとAngular 2.は初めてです。npm依存関係をインストールし、それをangular 2アプリで使用する必要があります。
依存関係は https://www.npmjs.com/package/ng2-stomp-service です
必要なパッケージをインストールしましたが、typings.d.ts
ファイルに以下を追加する必要があります
declare module 'stompjs';
declare module 'sockjs-client';
プロジェクトでtypings.d.ts
ファイルが見つかりません。
これまでに次のことを試しましたが、
npm install typings --global
npm install @types/stompjs
npm isntall @types/sockjs-client
typings install dt~stompjs --save
typings install dt~sockjs-client --save
内容が記載されたtypings.json
ファイルがあります。
{
"dependencies": {
"sockjs-client": "registry:dt/sockjs-client#1.0.3+20160727010356",
"stompjs": "registry:dt/stompjs#2.3.0+20161111105645"
}
}
angular 2 app with npm start
を実行すると、次のようにエラーがスローされます
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.
問題の原因がわからないのですが、typings.d.ts
でモジュールを宣言していないためと思われます。
お知らせ下さい。ありがとうございました。
この会話への私の2セント:
Tsconfig.jsonファイルに、typings.d.tsファイルの正しいパスがあることを確認してください
"typeRoots":["node_modules/@ types"、 "../src/typings.d.ts"]、
TypeScriptコンパイラがnode_modules
ディレクトリからファイルをコンパイルしようとしているようです。
tsconfig.json
ファイルに次の除外ルールがあることを確認してください:
{
"compilerOptions": {},
"exclude": [
"node_modules"
]
}
ところで@types
とtypings
のどちらかが必要です。 2つ目は非推奨です。必要なのは、dev依存関係に含まれる適切な@types
パッケージだけです。それが役に立てば幸い!
編集:npmパッケージにはTypeScriptファイルがあってはいけないと思うので、このリポジトリのgithubに修正を加えたトピックを作成しました: https://github.com/devsullo/ng2-STOMP-Over- WebSocket/issues/5
新しいバージョンのangularを使用していない場合、プロジェクトでtypings.d.ts
ファイルが見つかりません。angularを使用してプロジェクトを更新することをお勧めします= CLI https://cli.angular.io/