実現したいこと
Nuxt3+Vue3でVuetifyを使用したい。
Nuxt3+Vue3の導入を検討中です。(Typescriptは初めてです。)
試しに1からNuxt3でプロジェクトを進めて、サンプルのウェルカムページが立ち上がるところまで完了。
次にVuetify3の設定を追加したところで、以下エラーが出ました。
TERMINAL
1[nuxt] [request error] [unhandled] [500]head.addHeadObjs is not a function 2at Object.install (C:\xxx\node_modules\vuetify\lib\framework.mjs:51:11) 3at Object.use (C:\xxx\node_modules\@vue\runtime-core\dist\runtime-core.cjs.js:4377:28) 4at Object.setup (C:\xxx\plugins\vuetify.js:17:18) 5at wrapper (C:\xxx\node_modules\nuxt\dist\app\nuxt.js:198:21) 6at fn (C:\xxx\node_modules\nuxt\dist\app\nuxt.js:214:27) 7at Object.callAsync (/C:/xxx/node_modules/unctx/dist/index.mjs:49:19) 8at callWithNuxt (C:\xxx\node_modules\nuxt\dist\app\nuxt.js:216:23) 9at applyPlugin (C:\xxx\node_modules\nuxt\dist\app\nuxt.js:129:29) 10at Module.applyPlugins (C:\xxx\node_modules\nuxt\dist\app\nuxt.js:139:11)
「head.addHeadObjs」で検索してもヒットせず、基本的なことでミスしてそうですが、知識も浅く、原因が思いつかないです。。
どなたか解決法をご存じないでしょうか。。
前提
node : v16.13.2
package.json
1{ 2 "name": "nuxt-app", 3 "private": true, 4 "scripts": { 5 "build": "nuxt build", 6 "dev": "nuxt dev --port=3008", 7 "generate": "nuxt generate", 8 "preview": "nuxt preview", 9 "postinstall": "nuxt prepare" 10 }, 11 "devDependencies": { 12 "nuxt": "^3.4.1", 13 "sass": "^1.62.0", 14 "vite-plugin-vuetify": "^1.0.2" 15 }, 16 "dependencies": { 17 "mdi": "^2.2.43", 18 "vuetify": "^3.1.4" 19 } 20}
試したこと
大体どのサイトも同じような記述だったのでそれを参考にしてます。
nuxt.config.ts
1export default defineNuxtConfig({ 2 vite: { 3 define: { 4 'process.env.DEBUG': false, 5 } 6 }, 7 css: ['vuetify/lib/styles/main.sass', 'mdi/css/materialdesignicons.min.css'], 8 build: { 9 transpile: ['vuetify'], 10 }, 11 app: { 12 head: { 13 title: 'test', 14 meta: [{ name: 'description', content: 'test' }], 15 }, 16 }, 17 18})
※以下の中身をコメントアウトするとエラーは無くなります
plugins/vuetify.js
1import { createVuetify } from 'vuetify' 2import * as components from 'vuetify/components' 3import * as directives from "vuetify/directives"; 4 5export default defineNuxtPlugin( nuxtApp => { 6 const vuetify = createVuetify({ 7 components, 8 directives 9 }) 10 11 nuxtApp.vueApp.use( vuetify ) 12});
「head.addHeadObjs」自体は以下ファイルでのみ見つかりました。
\node_modules\vuetify\lib\composables\theme.mjs
mjs
1 function install(app) { 2 const head = app._context.provides.usehead; 3 if (head) { 4 head.addHeadObjs(computed(() => { 5 const style = { 6 children: styles.value, 7 type: 'text/css', 8 id: 'vuetify-theme-stylesheet' 9 }; 10 ...
参考サイト:
https://zenn.dev/coedo/articles/nuxt3-vuetify3
https://note.com/doui_lab/n/n37a67a01981a
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/04/18 01:35 編集