相信大家在写组件的时候各种导入和注册操作重复去写肯定很烦,这点 Nuxt 中已经帮我们解决了,直接使用就行了。
自动导入组件
我们把Vue组件放在components/目录,这些组件可以被用在页面和其他组件中,以往我们使用这些组件需要导入并注册它们,但Nuxt会自动导入components/目录中的任意组件。比如:
| components/
--| TheHeader.vue
--| TheFooter.vue
layouts/default.vue:
<template>
<div>
<TheHeader />
<slot />
<TheFooter />
</div>
</template>
组件名称约定
没有嵌套的组件会以文件名直接导入,但如果存在嵌套关系哪?例如下面的路径:
| components/
--| base/
----| foo/
------| Button.vue
那么组件名称将会基于路径和文件名连起来,比如上面的base/foo/Button.vue注册名称将会是BaseFooButton,将来用起来会像下面这样:
<BaseFooButton />
组件懒加载
如果在组件名前面加上Lazy前缀,则可以按需懒加载该组件,可用于优化打包尺寸。
比如,下面的用法:
<template>
<div>
<h1>Mountains</h1>
<LazyMountainsList v-if="show" />
<button v-if="!show" @click="show = true">显示列表</button>
</div>
</template>
<script setup>
import {ref} from 'vue'
const show = ref(false)
</script>
想学习的同学可以去B站搜 young村长 有配套的Nuxt3学习视频和Vue3相关视频学习我最近在跟着学习有兴趣可以去看看