Создайте боковую панель с Vuetify.js

#vue.js #frontend #vuetify.js #vuejs3

#vue.js #интерфейс #vuetify.js #vuejs3

Вопрос:

Я пытаюсь создать боковую панель в веб-приложении Vue с помощью vuetify. Я использую Vue3 и Vuetify 3.0.0-alpha.12, и мне трудно понять, как это сделать, потому что в большинстве примеров, которые я нахожу, используется Vue2.

Я новичок в Vue (а также в разработке интерфейсов), и я создал пример проекта, используя Vue Cli, а затем просто добавил боковую панель Vuetify.

Это мой main.js

 import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import { createVuetify} from "vuetify"

const vuetify = createVuetify()
createApp(App).use(router).use(vuetify).mount("#app");
 

И App.vue

 <template>
  <Sidebar></Sidebar>
  <div id="nav">
    <router-link to="/">Home</router-link> |
    <router-link to="/about">About</router-link>
  </div>
  <router-view />
</template>

<script>
import Sidebar from "@/components/Sidebar.vue";

export default {
  components: {
    Sidebar,
  },
};
</script>
 

Sidebar.vue Взято из документации Vuetify

 <template>
    <v-card
      class="mx-auto"
      height="400"
      width="256"
    >
      <v-navigation-drawer
        class="deep-purple accent-4"
        dark
        permanent
      >
        <v-list>
          <v-list-item
            v-for="item in items"
            :key="item.title"
            link
          >
            <v-list-item-icon>
              <v-icon>{{ item.icon }}</v-icon>
            </v-list-item-icon>
  
            <v-list-item-content>
              <v-list-item-title>{{ item.title }}</v-list-item-title>
            </v-list-item-content>
          </v-list-item>
        </v-list>
  
        <template v-slot:append>
          <div class="pa-2">
            <v-btn block>
              Logout
            </v-btn>
          </div>
        </template>
      </v-navigation-drawer>
    </v-card>

</template>
<script>
  export default {
    data () {
      return {
        items: [
          { title: 'Dashboard', icon: 'mdi-view-dashboard' },
          { title: 'Photos', icon: 'mdi-image' },
          { title: 'About', icon: 'mdi-help-box' },
        ],
        right: null,
      }
    }
  }
</script>
 

При запуске этого я получаю Failed to resolve component: v-list-item-content для каждого компонента vuetify, который я использую.

Я пробовал vuetify-loader, как описано здесь, но при добавлении в package.json я получаю некоторую ошибку зависимости. Насколько я понимаю, vuetify-loader может быть заменен на

 import { VCard } from 'vuetify/lib'
...
 

Sidebar.vue и я пытался, но все равно получаю Failed to resolve ошибку.

Кто-нибудь знает, что я делаю не так? Я почти уверен, что это какая-то глупость.