4
1

More than 3 years have passed since last update.

nuxt typescriptをvercel(now)にデプロイしたときにハマった3つのエラーと解決策

Posted at

Error: Can not read tsconfig.json from /vercel/xxxxxxxx

tsconfig.jsonが読み込めませんというエラー。
https://github.com/nuxt/now-builder/issues/245 を見て解決。
tsconfig.jsonが間違ってるから、typescriptを使う設定にしたnuxtを新規作成して、tsconfig.jsonをもらってこいとのこと。
で、どこが間違ってたかと言うと・・・

tsconfig.json修正前
    "types": [
      "@types/node",
      "@nuxt/types",
    ]
tsconfig.json修正後
    "types": [
      "@types/node",
      "@nuxt/types"
    ]

僕の場合、最後の「,」が多かったのでvercelでは読み込んでくれなかった。vscodeでエラーにならなかったので気が付かなかった。
issueの人は最初にコメントが入ってたらしい。

Property 'component' does not exist on type 'RouteConfig'

https://github.com/nuxt/nuxt.js/issues/7502
nuxtと@nuxt/typesがかみ合ってないエラー?
最新のnuxt(執筆時点では2.13.2)にアップデートすれば修正されている。
僕はnpm updateで直った。

Error: The Serverless Function "index" is 52.82mb which exceeds the maximum size limit of 50mb.

Functionは50MBまでだけど超えてるからデプロイできないよというエラー。
なんでもかんでもpackage.jsonのdependenciesに入れてるとこうなる。

https://github.com/nuxt/now-builder/issues/30
これとか見ながら開発環境でだけ必要なやつはdevDependenciesに移動した。
sass、sass-loader、node-sassをdependenciesからdevDependenciesに移動したらそこそこ軽くなった。
あと不要なパッケージもいくつかあったので削除。

pakage.json修正前
  "dependencies": {
    ...
    "sass": "^1.26.9",
    "sass-loader": "^8.0.0",
    "node-sass": "^4.14.1",
  },
  "devDependencies": {
    ...
  }
pakage.json修正後
  "dependencies": {
    ...
  },
  "devDependencies": {
    ...
    "sass": "^1.26.9",
    "sass-loader": "^8.0.0",
    "node-sass": "^4.14.1",
  }

staticフォルダにめっちゃ重い画像とか入ってても上限超えてしまうので、そちらも確認してみてください。

あんまり機能作ってないのにもう上限の50MBにいってしまって辛い。それとも僕の設定がなにかおかしいのだろうか・・・
意外といらないパッケージもありそうだからそのうちダイエットしよう。

4
1
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
4
1