상황 : nestjs에 web3js를 import하고, web3.eth.getBlockNumber(); 호출시 아래 에러 발생
[Nest] 58552 - 02/26/2023, 6:24:50 PM ERROR [ExceptionsHandler] web3_1.default is not a constructor TypeError: web3_1.default is not a constructor at EthereumService.getLatestBlockNumber (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/src/ethereum/ethereum.service.ts:9:22) at EthereumController.getblock (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/src/ethereum/ethereum.controller.ts:18:37) at /Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/@nestjs/core/router/router-execution-context.js:38:29 at InterceptorsConsumer.intercept (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/@nestjs/core/interceptors/interceptors-consumer.js:11:20) at /Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/@nestjs/core/router/router-execution-context.js:46:60 at /Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/@nestjs/core/router/router-proxy.js:9:23 at Layer.handle [as handle_request] (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/layer.js:95:5) at next (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/route.js:144:13) at Route.dispatch (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/route.js:114:3) at Layer.handle [as handle_request] (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/layer.js:95:5) at /Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/index.js:284:15 at Function.process_params (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/index.js:346:12) at next (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/index.js:280:10) at urlencodedParser (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/body-parser/lib/types/urlencoded.js:91:7) at Layer.handle [as handle_request] (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/Users/sangbeomji/trainings/all-chain-nft-marketplace/acnft-m_block-chain-api-server/node_modules/express/lib/router/index.js:328:13)
구글링
https://ethereum.stackexchange.com/questions/62693/typeerror-web3-1-default-is-not-a-constructor
tsconfig.json에 "esModuleInterop": true 추가
{ "compilerOptions": { ... "esModuleInterop": true } }