批量注册 Vue Components

话不多说,直接上代码

import Vue from 'vue'
import _ from 'lodash'
const requireComponent = require.context('@/components', true, /\.vue$/)
// 批量注册组件
requireComponent.keys().forEach(fileName => {
    const componentConfig = requireComponent(fileName)
    const componentName = _.upperFirst(// 调整风格为首字母大写驼峰
        _.camelCase(fileName.replace(/^\.\//, '').replace(/\.\w+$/, ''))
    )
    Vue.component(componentName, componentConfig.default || componentConfig)
})

这段代码只能在 webpack 或 vue-cli 项目中用,因为用到了 webpack 的 api。

建议放在 components 文件夹下的根目录,最后在 main.ts 中导入 components 文件夹即可


评论

发表回复