NuxtUIを使ってみたときのログ
Accordion.vue:58 Uncaught (in promise) ReferenceError: Cannot access 'UButton' before initialization
UButtonを使ったみたらこんなエラーに遭遇
ここで議論はされていたが、結論最小単位で実行してみて、バグが場買ったというオチ
<script setup lang="ts">
const selected = ref(false);
const toast = useToast();
const handleClick = () => {
console.log("clicked");
toast.add({ title: "Hello world!" });
};
</script>
<template>
<header class="flex justify-between items-center p-6 bg-white">
<h1 class="font-bold text-2xl">StockArticle</h1>
<nav>
<UCheckbox
v-model="selected"
name="notifications"
label="Notifications"
/>
<UToggle v-model="selected" />
<UButton @click="handleClick">Button</UButton>
<!-- <UButton label="Show toast" @click="toast.add({ title: 'Hello world!' })" /> -->
<!-- <UTooltip text="Tooltip example" :shortcuts="['⌘', 'O']">
<UButton color="gray" label="Hover me" />
</UTooltip> -->
</nav>
<!-- <nav>
<ul class="flex space-x-4">
<li>
<NuxtLink :to="'/'" class="text-gray-900 dark:text-white" href="#"> Home </NuxtLink>
</li>
<li>
<a class="text-gray-900 dark:text-white" href="#"> Articles </a>
</li>
</ul>
</nav> -->
</header>
</template>
onClickも動かない
UButtonに関するところは軒並みエラーが出る
初期化される前にアクセスされている??
別にそこまで初期化処理をしているわけではないからなー
うーん
他のプロジェクトに導入したらエラーは出なかった
エラーが出なかった方のversion
"nuxt": "^3.8.1"
エラーが出た方のversion
"nuxt": "^3.1.0",
nuxt:3.1.0の方のプロジェクトを3.8.0にあげたら、エラーが解消された
Nuxt/uiのドキュメントに必要なNuxtのversionが明記されていそうな感じがする
npm install @nuxt/ui
上記のコマンドを実行したら、おそらくこのエラーが発現する
解決方法
nuxt.config.ts
のプロパティにdevServerHandlers:[]
を記述するとエラーが治る
nuxt/tailwindcss
のmodule関連のエラーだった
それでも治らない場合は、@nuxt/tailwindcss
のmoduleを削除して、再びインストールする
エラーが出たversion
"@nuxtjs/tailwindcss": "^5.3.1",
再インストールしたversion
"@nuxtjs/tailwindcss": "^6.10.1",
自分の場合はversionもあげてしまったが、多分あげなくても大丈夫(未検証)
touch app.config.ts
ファイルを作り忘れてもバグになる
export default defineAppConfig({
})
無事解決!