我正在Nuxt中测试Vuex存储实现,并想知道Store文件夹现在是否是共享组件和模块的最佳方式,而不是与Components文件夹一起使用?
例如,我当前在Layouts文件夹中从default.vue调用标头,此代码引用了Components文件夹:
<template>
<div class="container">
<Header />
<nuxt />
<Footer />
</div>
</template>
<script>
import Header from '~/components/appheader.vue'
import Footer from '~/components/appfooter.vue'
export default {
components: { Header, Footer }
}
</script>
但是据我所知,如果header.vue位于Store文件夹中,则可以简单地使用文件名来调用它,如下所示,而无需导入或导出它。我理解正确吗?
<template>
<div class="container">
<appheader></appheader>
<nuxt />
<appfooter></appheader>
</div>
</template>
否,商店文件夹中不应包含组件。仅将组件放在components
文件夹中。
store
文件夹仅用于modularizing Vuex。
如果不想在每个组件中编写import
语句,则可以使用nuxt-global-base-components。但是我不认为这是一个好习惯...
此外,请注意组件名称。页眉和页脚是html保留字。将它们分别命名为AppHeader和AppFooter。