src/components/index.ts
import upperFirst from 'lodash/upperFirst'
import camelCase from 'lodash/camelCase'
export default {
install(app:any) {
let components =
import.meta.glob('./**/*.vue',{ eager: true })
Object.keys(components).forEach((component, index) => {
const componentConfig:any = components[component]
const componentName = upperFirst(
camelCase(
component
.replace(/^\.\/.+\//, '')
.replace(/\.\w+$/, '')
)
)
app.component(componentName, componentConfig.default || componentConfig)
});
}
}
复制代码
src/main.ts
import { createApp } from 'vue'
import components from './components'
const app = createApp(App)
app.use(components)
app.mount('#app')