1. ホーム
  2. typescript

[解決済み] types/packageでインストールしたTypeScriptの型定義が正しくない場合に上書きする方法

2023-02-07 04:16:09

質問

例えば dotenv モジュールを使用し、その .d.ts を npm install @types/dotenv --save . すると、型が正しくないことに気がつきました。例えば config() 関数はbooleanを返さず、よりリッチなオブジェクトを返します。

この状況にどのように対処すればよいのでしょうか。ダウンロードした型定義を別のファイルにコピーし、手動で更新し、@types/dotenv をアンインストールすればよいのでしょうか。 もっと良い方法はありますか?(私は、上流のメンテナによってマージされた後ではなく、すぐに修正を必要とします)。

どのように解決するのですか?

私なら dotenv のバージョンと @types/dotenv のバージョンが一致している場合、それが関数が見つからない原因である可能性があります。

もしそうなら、.d.ts を自分で修正するのが一番きれいな方法でしょう。

これを行うには npm remove @types/dotenv . フォルダを作成する types をプロジェクト上に作成します。を丸ごとコピーします。 フォルダ dotenv で見つかった node_modules/@types の中に入れてください。

そして、その中のd.tsを修正し、あなたの tsconfig.json を修正し、新しいフォルダにない型は typeRoots のようにします。

{
"compilerOptions": {
    "module": "commonjs",
    "noImplicitAny": true,
    "typeRoots": [
        "./node_modules/@types",
        "./types/",
    ]
},
"files": ["./app.ts"]
}

(を追加することを忘れないでください。 ./node_modules/@types など、npmで取得した、もう見つからないような型も忘れずに)

お役に立てれば幸いです。