# 组件目录内始终使用文件夹管理组件
在 components 目录下的通用组件始终使用文件夹管理组件,并通过 index.js 暴露组件,建议使用以下文件结构:
├── components
│ ├── componentA
│ │ ├── componentA.vue
│ │ └── index.js
│ ├── componentB
│ │ ├── componentA.vue
│ │ └── index.js
│ ├── index.js
在具体组件目录的 index.js 中,可以使用以下方式暴露组件:
import componentA from './componentA'
export { componentA }
export default componentA
如果,需要在 components/index.js 中暴露常用的组件,可以使用以下方式:
import componentA from './componentA'
import componentB from './componentB'
const components = [
componentA,
componentB
]
const install = Vue => {
components.forEach(component => {
Vue.component(component.name, component)
})
}
export default {
install
}
在 src/main.js 通过 Vue.use 全局注册组件:
import Vue from 'vue'
import components from './components'
import App from './App'
import router from './router'
import store from './store'
Vue.use(components)
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')