jjw

写给自己的博客。 记录学习的点滴以备查。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

vue 全局注册组件

Posted on 2020-05-08 23:15  jjw  阅读(291)  评论(0编辑  收藏  举报
// Globally register all base components for convenience, because they
// will be used very frequently. Components are registered using the
// PascalCased version of their file name.

import Vue from 'vue'

// https://webpack.js.org/guides/dependency-management/#require-context
const requireComponent = require.context(
  // Look for files in the current directory
  '.',
  // Do not look in subdirectories
  false,
  // Only include "_base-" prefixed .vue files
  /\.vue$/
)

// For each matching file name...
requireComponent.keys().forEach((fileName) => {
  // Get the component config
  const componentConfig = requireComponent(fileName)
  // Get the PascalCase version of the component name
  const componentName = fileName

  .split('/')
        .pop()
        .replace(/\.\w+$/, '')
    // // Remove the "./_" from the beginning
    // .replace(/^\.\/_/, '')
    // // Remove the file extension from the end
    // .replace(/\.\w+$/, '')
    // // Split up kebabs
    // .split('-')
    // // Upper case
    // .map((kebab) => kebab.charAt(0).toUpperCase() + kebab.slice(1))
    // // Concatenated
    // .join('')

  // Globally register the component
  console.log(componentName)
  Vue.component(componentName, componentConfig.default || componentConfig)
})
import Vue from "vue";
import router from "./router";
import ElementUI from "element-ui"
import 'element-ui/lib/theme-chalk/index.css';

import App from "./App.vue";

import "@/components/all.js"

Vue.use(ElementUI)

Vue.config.productionTip = false;

new Vue({
  router,
  render: h => h(App)
}).$mount("#app");