프로젝트 구성을 serverless와 typescript 기반으로 하려고 했다.
sls로 serverless를 사용했고 eslint를 써서 ts기반 코드를 작성했다.
그러던 중 handler.js를 handler.ts로 바꿔서 local 배포(sls offline start
)를 해봤다
터미널에서 Error: Cannot find module '../handler'
이런 에러 로그가 떴다.
아마 serverless는 .ts는 찾지 못하고 .js 파일만 찾을 수 있는 것 같았다.
그래서 .js로 다시 바꾸고 .eslintignore 파일에 .js 파일을 linting하지 않도록 추가해서 다시 배포했다.
또는 serverless-plugin-typescript 패키지를 설치해 사용하는 방법도 있다.
https://stackoverflow.com/questions/68040636/failure-cannot-find-module-handler-aws-lambda