【NUXT3】verbatimModuleSyntaxでエラーがでる

2023年10月のNuxt3.8へのアップデートより、型のimportの定義がより厳密になりました。

Vue requires that type imports be explicit (so that the Vue compiler can correctly optimise and resolve type imports for props and so on). See core Vue tsconfig.json.

We’ve therefore taken the decision to turn on verbatimModuleSyntax by default in Nuxt projects, which will throw a type error if types are imported without an explicit type import. To resolve it you will need to update your imports:

https://nuxt.com/blog/v3-8#type-import-changes

本記事を見られている方は、恐らく型エラーが出るようになっていると思います。

'RecipeEntity' is a type and must be imported using a type-only 
import when 'verbatimModuleSyntax' is enabled.
目次

対処方法

方法1:typeをつけるなど型を厳密にする

import { RecipeEntity } from "~~/types/entities";
↓
import { type RecipeEntity } from "~~/types/entities";

方法2:ts.config.jsonのverbatimModuleSyntaxをoffにする

.nuxtディレクトリにあるts.config.jsonにアクセスします。

ここにnuxtにおけるtypescriptのルールが記載されております。

デフォルトではオンになっているのでoffにします。

そうすると従来通りの挙動になりエラーが消えるはずです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次