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
반응형