2016-03-30 25 views
5

Typescriptプロジェクトでnpmモジュールを使用したいと思いますが、このモジュールにはタイピングやtsdはありません。私が使用しようとするとimport Module from 'module'私はエラーがあった:Cannot find module 'module'.それを修正する方法はありますか?Typescriptでnpmモジュールを使用する

[EDIT] マイtsconfig.json

{ 
    "compilerOptions": { 
    "target": "ES5", 
    "moduleResolution": "node", 
    "module": "commonjs", 
    "noEmitOnError": true, 
    "noImplicitAny": true, 
    "experimentalDecorators": true, 
    "sourceMap": true, 
    "sourceRoot": "src", 
    "outDir": "bld" 
    }, 
    "exclude": [ 
    "bld" 
    ] 
} 
+0

に以下を追加するには、[この他のS/Oの質問](HTTPで回答されていますstackoverflow.com/questions/38224232/how-to-consume-npm-modules-from-typescript) – Offirmo

答えて

5

私はあなたの質問は、モジュール

import Module from 'module' 

ではなく、あなたが述べたように、それをエクスポートをインポートに関連していると仮定します。このような場合は、あなたの平野にフォールバックJavaScriptとこのようなモジュールを必要とすることができます

var Module = require('module'); 

[EDIT]

がいることを確認しtsconfig.jsonであなたは、コンパイラオプションに次の行があります。

"compilerOptions": { 
    "moduleResolution": "node", 
    "module": "commonjs" 
} 

これが役に立ちます。

+0

はい、それはインポートに関する質問です。私にとっては両方の変種を扱うことはできません。おそらく、問題は 'module'の型定義がなく、typescriptは' node_modules'でそれを探していないということです。しかし、私はそれを修正する方法を知らない。 –

+0

いいえ、2番目のバージョンの型定義は必要ありません。更新された回答を確認します。 – Amid

+1

変更に合わせてtsconfig.jsonを修正しましたが、「モジュール 'module'が見つかりません」というエラーがありました。アップデートされた 'tsconfig.json'を確認してください。 –

0

輸入量を必要量で汚染しない場合は、次の方法に従うことができます。

declare module Module {} 

あなたの輸入が動作するようになりましたが含まれmodule.d.ts定義ファイルを作成することができます。 //:

あなたは

import { abc } from 'module'; 

のようなものをインポートしたい場合は、単に先に行くとmodule.d.ts

declare module Module { 
    export let abc: any 
} 
関連する問題