2017-08-01 10 views
0

私はthe blog postに続きましたが、うまくいかなかった。Meteor 1.5のTypescriptセットアップ - モジュールの流星/流星が見つかりません

$ meteor 
[[[[[ ~/Private/ReactMeteorExample ]]]]] 
=> Started proxy. 
client/index.tsx (2, 24): Cannot find module 'meteor/meteor'. 
=> Started MongoDB. 
=> Started your app. 

$ meteor add barbatus:typescript 
$ meteor npm install --save @types/meteor @types/react 

をインストール https://github.com/Falieson/react15-meteor1.5/commit/b0c5ccd4f940d980a227789e151c9b1ffb8f71cf

エラーtsconfig.json

"compilerOptions": { 
    "allowJs": false, 
    "alwaysStrict": true, 
    "jsx": "react", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "noImplicitAny": false, 
    "sourceMap": true, 
    "strictNullChecks": false, 
    "target": "es5", 
    "types": [ 
     "meteor-typings" 
    ]  

追加質問:ここに私のコミットだタイピングはdevの依存関係すべきですか?

答えて

1

tsconfigファイルの"types"セクションは、流星タイピングディレクトリを持たないので不要です( 'meteor-typings'は古いことでした)。

@typesパッケージは、.d.ts個のファイルであるため、標準またはデベロッパーの依存関係には関係ありません。個人的には、私はそれらをnon-devのままにしておきます。 、あなたが取得している問題を解決typings.d.tsと呼ばれるトップレベルにファイルを追加し、その中にあなたが参照するパッケージへの参照を入れて

、例えば: /// <reference types="@types/meteor" />

あなたは追加する必要がありますjsx = react定義のため自動的に追加されるかもしれませんが、上記を追加した後はエラーなしで実行されているようです。

typescriptドキュメントには、@typesファイルを自動的に組み込む必要があることが示唆されていますが、なぜそうでないのかわかりません。私が上記の "タイプ"を削除したとき、それらは取り上げられませんでした。

代替ソリューションは、tsconfig.jsonファイルなどで明示的に型を指定することです: ... "target": "es5", "types": [ "meteor" ]

ここでTSドキュメントの該当ビットがあります:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types このセクションでは、「目に見えるすべてのデフォルトでは」と言って開始します@タイプ "のパッケージがコンパイルに含まれています。しかし、 "typeRoots"と "types"がtsconfig.jsonファイルでどのように設定できるかについて説明しています。

関連する問題