Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iamport module type error #1

Open
timo-kang opened this issue Oct 29, 2020 · 8 comments
Open

iamport module type error #1

timo-kang opened this issue Oct 29, 2020 · 8 comments
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@timo-kang
Copy link

error TS7016: Could not find a declaration file for module 'iamport-rest-client-nodejs'. '~/node_modules/iamport-rest-client-nodejs/index.js' implicitly has an 'any' type.

@timo-kang
Copy link
Author

tsconfig에서 "noImplicityAny" : false로 바꿔줘야 정상 동작을하는 것 같은데, 다른 방안이 있을까요?

@timo-kang
Copy link
Author

위 에러메시지는 빌드 에러고,
서버 구동 시 Error: Cannot find module './lib/Iamport'라는 에러가 나와서 아예 사용하지 못하네요..

@SoleeChoi
Copy link
Contributor

SoleeChoi commented Oct 29, 2020

안녕하세요 아임포트 기술지원팀입니다.

사용하고 계신 iamport-rest-client-nodejs 버전이 최신 버전(v0.9.3)이 맞으실까요?

혹시 몰라 도움이 될 만한 예제 프로젝트 첨부 드립니다.

iamport-nodejs-typescript-example.zip

위 프로젝트는 express-generator-typescript로 만들었으며,
압축 해제 및 필요한 npm 모듈 설치($ npm install)후
브라우저를 열고 localhost:3000/api로 접근 해보시거나 포스트맨 등으로 GET localhost:3000/api 요청해보시면
커맨드 창에 테스트 API 호출 결과를 보실 수 있습니다.

감사합니다.

@timo-kang
Copy link
Author

timo-kang commented Nov 1, 2020

네, 0.9.3버전을 사용하고 있습니다.
보내주신 예제 프로젝트는 잘 실행이 되는것으로 확인이 되네요.

저는 express대신 fastify를 사용하고 있습니다. 혹시 fastify에 대해서는 사용을 할 수 없는것인가요?

@SoleeChoi
Copy link
Contributor

안녕하세요 아임포트 기술지원팀입니다.

fastify로 만든 프로젝트에서 정상 동작하는지 확인해보진 않았습니다만, iamport-rest-client-nodejs 모듈 자체가 express 모듈에 dependent 하지 않기 때문에 프레임워크의 문제는 아닐 것으로 생각됩니다.

해보시다가 정 안되시면...고객님 프로젝트를 압축하여(전체 공개가 부담스러우시면 아임포트 모듈을 사용하는 endpoint만 추출해도 무방함) 기술지원팀 이메일 ([email protected])로 보내주세요. 직접 디버깅 해보겠습니다.

감사합니다.

@timo-kang
Copy link
Author

timo-kang commented Nov 17, 2020

@SoleeChoi
안녕하세요, 제가 다시 확인을 해보았는데요, 정확히는 Docker상에서 모듈 임포트가 되지 않네요.
호스트에서 바로 실행했을 시, 정상적으로 컴파일이 됩니다. (package-lock.json파일에 충돌이 있어서 삭제 후 다시 npm install을 해야만 했습니다.)

Dockerfile

FROM node:10.18

RUN echo "Updated at 2020/08/03"
RUN apt-get update -y && apt-get dist-upgrade -y && apt-get autoremove -y && apt-get autoclean -y && apt-get install -y build-essential texlive-full default-jdk
RUN apt-get install -y graphicsmagick imagemagick

WORKDIR /home/node/goono-server-ts
RUN chown -R node:node /home/node/goono-server-ts
USER node
COPY --chown=node:node ./*.json ./*.lock ./
RUN npm install
COPY --chown=node:node ./src ./src


RUN npx tsc

Dockerfile은 다음과 같습니다. 맨 아래 tsc 부분에서
error TS7016: Could not find a declaration file for module 'iamport-rest-client-nodejs'. '~/node_modules/iamport-rest-client-nodejs/index.js' implicitly has an 'any' type.
라는 에러를 받았습니다.

@timo-kang
Copy link
Author

보내주신 example script의 root path에 Dockerfile을 추가해 주신 후,

docker build -t iamport-test . 

다음과 같이 이미지 빌드 시도해 보시면 해당 에러를 확인 하실 수 있습니다.

timo-kang added a commit to timo-kang/rest-client-nodejs that referenced this issue Nov 19, 2020
@SoleeChoi SoleeChoi added good first issue Good for newcomers bug Something isn't working labels Nov 19, 2020
@SoleeChoi
Copy link
Contributor

안녕하세요 아임포트 기술지원팀입니다.

해당 이슈는 올려주신 PR을 기반으로 수정하여 v0.9.4에 반영되었습니다.

기여해주셔서 대단히 감사합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants