😽

TypeScriptのesModuleInterop忘れでimportエラー

2022/07/24に公開

エラー事象

Agora Web SDK(v4.12.0)でTypeScript&webpack環境を作った時、importしたSDKがundefinedになってちょっとハマった。

index.ts
import AgoraRTC from 'agora-rtc-sdk-ng';
console.log('AgoraRTC:', AgoraRTC); // 'AgoraRTC: undefined'

同じようにハマってる人がいて、Agoraが提供してるReactサンプルではちゃんと動いていてなんでだろうと思ってた🤔

原因

tsconfig.jsonの esModuleInterop の指定漏れでした。
とりあえず、以下の指定でちゃんと読み込めました👍

tsconfig.json
{
  "compilerOptions": {
    "sourceMap": true,
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
  }
}

参考記事

Discussion