全局组件自动注册

export default {
  install(Vue, options) {
    // 自动全局注册组件
    // 1:读取当前目录下的文件
    // const req = require.context('路径','是否读取子文件','正则判断读取的文件以什么结尾')
    const req = require.context('./', false, /\.vue$/)
    // req是一个function函数 (传入读取文件的路径后导入该文件).该函数有一个keys方法
    // 2.拿到读取文件的路径
    // 3.导入处理
    console.log(req, 1)
    req.keys().forEach((item) => {
      console.log(req(item).default, 2)
      // req(item).default 理解成导入该路径文件
      const com = req(item).default
      // 全局注册.
      // !注册的组件需要添加name值.否则会报一个name大小写的错误.
      Vue.component(com.name, com)
    })
    console.log(options, 3) //这里是严格模式下避免提示错误.
  }
}

main.js

import index from './components/index'//全局自动注册的js文件路径

Vue.use(index)

Guess you like

Origin blog.csdn.net/wangyangzxc123/article/details/121437464