1. ホーム
  2. typescript

[解決済み] モジュール 'module-name' の宣言ファイルが見つかりませんでした。'/path/to/module-name.js' は暗黙のうちに 'any' 型を持っています。

2022-03-15 04:54:25

質問

TypeScriptがどのようなものかを読みました。 モジュール解決 が動作します。

私は以下のようなリポジトリを持っています。 ts-stack/di . コンパイル後のディレクトリ構成は以下のようになります。

├── dist
│   ├── annotations.d.ts
│   ├── annotations.js
│   ├── index.d.ts
│   ├── index.js
│   ├── injector.d.ts
│   ├── injector.js
│   ├── profiler.d.ts
│   ├── profiler.js
│   ├── providers.d.ts
│   ├── providers.js
│   ├── util.d.ts
│   └── util.js
├── LICENSE
├── package.json
├── README.md
├── src
│   ├── annotations.ts
│   ├── index.ts
│   ├── injector.ts
│   ├── profiler.ts
│   ├── providers.ts
│   └── util.ts
└── tsconfig.json

package.jsonには、次のように書きました。 "main": "dist/index.js" .

Node.jsではすべてうまくいくのですが、TypeScriptでは。

import {Injector} from '@ts-stack/di';

モジュール '@ts-stack/di' の宣言ファイルが見つかりませんでした。'/path/to/node_modules/@ts-stack/di/dist/index.js' は暗黙のうちに 'any' 型を持っています。

それなのに、以下のようにインポートすると、すべてうまくいくのです。

import {Injector} from '/path/to/node_modules/@ts-stack/di/dist/index.js';

何が間違っているのでしょうか?

どうすればいいですか?

自分でnpmパッケージをインストールする場合

サードパーティのパッケージを使用している場合は 以下は私の回答です。 .

削除する .js から "main": "dist/index.js"package.json .

"main": "dist/index",

を追加します。 typingspackage.json TypeScriptのドキュメントによると :

"main": "dist/index",
"typings": "dist/index",

フォルダの dist は、TSコンパイラがモジュールのファイルを保存する場所です。