0
0

More than 1 year has passed since last update.

【Express】起動時に、「TypeError: express is not a function」のエラー

Posted at

expressでサーバー立てようと思い、このように書いていたら、

//index.ts
import * as express from "express"; 
const app = express();

トランスパイルして実行したところ、こんなことを言われました。

/dist/index.js:2
var app = express();
          ^

TypeError: express is not a function

※ちなみに、tsconfig.jsonのmoduleは、es6です。

対処法

//index.ts
import * as express from "express"; 
//↓
import express from 'express';

という記事を見て、真似してみましたが、今度は下のようなコンパイルエラーも出ました。

このモジュールは 'export =' を使用して宣言されていて、
'allowSyntheticDefaultImports' フラグを使用する場合は
既定のインポートでのみ使用できます。

これについては、tsconfig.jsonにこれを追加してやれば消えます。


{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true
  }
}

これを追加することで、モジュールからのデフォルトのインポートを許可できるそう。
詳しくは勉強中…

参考にした記事

https://qiita.com/kozzzz/items/59816861e6a2eb80cb34
https://numb86-tech.hatenablog.com/entry/2020/07/11/160159
https://qiita.com/rhirayamaaan/items/cf3d859678577ec90d7b

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0