TypeScript 지원하는 NodeModule 사용하는 방법
@type 지원 nodemodule이 없을 경우
예를 들어 Vueper Slides의 module은 @type을 지원을 하지 않는다.
그렇기 때문에 Vue+TypeScript에서 사용 시 에러가 발생한다.
Could not find a declaration file for module 'vueperslides'.
'/Users/r2fresh78/workspace/kt/sw_architecture/developer-network/ken/ken-fe/node_modules/vueperslides/dist/vueperslides.common.js' implicitly has an 'any' type.
Try `npm install @types/vueperslides` if it exists or add a new declaration (.d.ts) file containing `declare module 'vueperslides';
또는 parameter에 타입을 any
로 하지 않으면 또한 아래와 같은 에러도 발생한다.
Parameter 'data' implicitly has an 'any' type.
해결 방법
해결 방법은 tsconfig.json의 noImplicitAny
의 값을 아래와 같이 수정해 주면 된다.
"noImplicitAny": false
이렇게 하면 에러가 발생하지 않고, 개발서버를 돌리고 빌드도 가능하다.
혹시 이렇게 하기 싫으면 직접 @type에 맞는 모듈을 만들어도 된다.^^
참고
- https://stackoverflow.com/questions/47848778/parameter-implicitly-has-an-any-type/47848779
- https://stackoverflow.com/questions/42987268/is-there-any-way-to-get-warnings-not-errors-for-noimplicitany-noncompliance
- https://medium.com/@amandeepkochhar/typescript-error-could-not-find-a-declaration-file-for-module-xyz-dfbe6e45c2bd
- https://stackoverflow.com/questions/41292559/could-not-find-a-declaration-file-for-module-module-name-path-to-module-nam