typescript.d.tsタイプ定義をnode_moduleフォルダーに書き込みます

Apr 01 2019

外部(npm)ライブラリ用の.d.tsファイルを作成する必要があります。私はtypescript3を使用しています。

必要なインポートは次のとおりです。

import fakedb from 'fake-indexeddb'; //sorted
// second import I would like:
import dbKeyRange from 'fake-indexeddb/lib/FDBKeyRange'

types / fake-indexeddb.d.tsから:

export = index;
declare const index: IDBFactory;

希望するライブラリから2回目のインポート用のファイルを作成するにはどうすればよいですか(fake-indexeddb/lib/FDBKeyRange--a IDBKeyRange)?

編集ユライKocanによって答えは質問は私が書くとき、デバッガとtranspilerは、ファイルを見つけるようにファイルに名前を付ける必要がありますものです、私は.d.tsファイルに入れて持っているもの、論理的である一方でimport dbKeyRange from 'fake-indexeddb/lib/FDBKeyRange'-どのようにそれは明らかです見つかっタイプ/フェイク-indexeddb.d.tsファイル。

回答

JurajKocan Apr 01 2019 at 21:24

宣言に完全な名前を追加する

declare module 'fake-indexeddb/lib/FDBKeyRange' {
  class dbKeyRange {}
  export default dbKeyRange
}

編集

宣言にはいくつかの規則があります。tsconfigにタイプrootesを追加します

 "typeRoots": [
  "./node_modules/@types",
  "./whateveryouwant/types"
],

または他のパスは関係ありません。ts configで定義してから、モジュールの名前でフォルダーを追加する必要があります。このフォルダにindex.d.tsを追加します

--src
  --types
    --fake-indexeddb
      --index.d.ts
Brent Apr 02 2019 at 03:47

最終的に、typesディレクトリの下にフォルダパスをマッピングしましたが、それは機能しました。定義ファイルへの最終パスは次のとおりです。

types/fake-indexeddb/lib/FDBKeyRange.d.ts

そのファイルの定義で。