2017-01-04 7 views
0

私はkoaとTypescript2.0を使用してプロトタイプを作成しようとしています。Typescript 2は外部ノードモジュールを解決できません

私は、次のtsconfig.jsonで単純なプロジェクトを設定している:

{ 
    "compilerOptions": { 
     "outDir": "./bin/", 
     "sourceMap": true, 
     "noImplicitAny": true, 
     "module": "commonjs", 
     "target": "es6", 
     "jsx": "react", 
     "typeRoots": [ 
      "node_modules/@types" 
     ], 
     "types": [ 
      "node" 
     ] 
    }, 
    "include": [ 
     "./src/**/*" 
    ] 
} 

私はnpm install --save @types/nodeを介してノード定義ファイルをインストールし、私は今import Morgan = require('koa-morgan')とノードモジュールをインポートしようとしているが、これは続けてエラーをスローする:error TS7016: Could not find a declaration file for module 'koa-morgan'. 私はVScodeを使用しており、問題はないのでtsdkを適切に更新しました。

私には何が欠けていますか? ありがとうございます!

答えて

3

koa-morganの入力を受け取り、nodeの場合と同じ方法で入力するか、または使用できない場合は、時間があり、自分で作成する必要があります。

は、そうでない場合は、単にJavaScriptの道そしてdefaulをインポートします。

const Morgan = require('koa-morgan'); 

しかし、それは

+0

右aswell typescriptですからタイプをチェックせずにあなたを残しますが、私はノードモジュールのための推奨構文は、X =インポートを必要だと思いました( 'foo')と私は以前のプロジェクトでそれを使用して覚えている、なぜここでそれを働かないのですか? また、入力をしていないノードモジュールを使用するすべてのファイルに/// を手動で配置する必要があります – tiansivive

+0

typescriptがタイプ情報を推測してインポートするものを確認できない場合 - その構文は使用できません。いずれの場合にも// を置く必要はありません。 tsconfigで入力と適切な参照がある場合、typescriptはそれらを使用します。そうでない場合は、古い構文では、入力なしの単純なjavascriptで作業します – Amid

関連する問題