개발관련/오류노트

오류 : Could not find a declaration file for module 'module-name'. '/path/to/module-name.js' implicitly has an 'any' type

Rateye 2021. 8. 4. 10:59
728x90
반응형
질문 : 모듈 'module-name'에 대한 선언 파일을 찾을 수 없습니다. '/path/to/module-name.js'에는 암시 적으로 'any'유형이 있습니다.

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';

내가 도대체 뭘 잘못하고있는 겁니까?

답변

다음은 두 가지 다른 솔루션입니다.

모듈이 귀하의 것이 아닌 경우- @types types에서 유형을 설치하십시오.

npm install -D @types/module-name

위의 설치 오류가 발생하면 다음 require import 문을 변경해보십시오.

// import * as yourModuleName from 'module-name';
const yourModuleName = require('module-name');
출처 : https://stackoverflow.com/questions/41292559/could-not-find-a-declaration-file-for-module-module-name-path-to-module-nam
728x90
반응형