moduleNameが宣言されていますが、その値が読み取られることはありません。ts(6133)エラー分析



Modulename Is Declared Its Value Is Never Read



問題の再発

ts構文を使用してkoaモジュールなどのサードパーティライブラリをインポートすると、このエラーが発生します。このエラーは、デフォルトのエクスポートがないためです。
画像

問題の原因

通常、tsを使用して他のモジュールをインポートすると、宣言ファイルが作成されます。わからない場合は別の本を読むことができます ブログ 、モジュールが渡されたことが宣言ファイルで見つかりますexport = Way。
画像
だから私たちは行きます TS公式サイト のモジュールは次のとおりです。export=およびimport = require()を使用する場合



  • CommonJS環境とAMD環境の両方に、モジュールのエクスポートされたすべてのコンテンツを含むexports変数があります。
  • CommonJSとAMDの両方のエクスポートにオブジェクトを割り当てることができます。この場合、関数はes6構文のデフォルトのエクスポート、つまりデフォルトのエクスポート構文に似ています。関数は似ていますが、エクスポートのデフォルト構文はCommonJSおよびAMDのエクスポートと互換性がありません。
  • CommonJSとAMDのエクスポートをサポートするために、TypeScriptはexport =構文を提供します。
  • export =構文は、モジュールのエクスポートオブジェクトを定義します。ここでのオブジェクトという用語は、クラス、インターフェイス、名前空間、関数、または列挙型を指します。
  • export =を使用してモジュールをエクスポートする場合は、TypeScriptの特定の構文import module = require( 'module')を使用してこのモジュールをインポートする必要があります。

tsはCommonJSおよびAMDのエクスポートと互換性があることがわかります。したがって、ここでは、export=を使用してこの種の問題を解決する方法を定義します。エクスポートされたモジュールを使用する必要がありますimport module = require(“module”)この方法でインポートします。

画像
この問題を解決する別の方法があります。



インポート*「koa」からkoaとして

ただし、このインポートと上記のインポートにはいくつかの違いがあります。