26 lines
1.1 KiB
JavaScript
26 lines
1.1 KiB
JavaScript
import Vue from 'vue';
|
|
|
|
const requireComponent = require.context('./components', true, /\.vue$/);
|
|
|
|
// Registro automático de componentes:
|
|
// e.g. components/foo/bar/UnComponente.vue
|
|
// se registra como 'foo-bar-un-componente'
|
|
requireComponent.keys().forEach(fileName => {
|
|
// Get the component config
|
|
const componentConfig = requireComponent(fileName);
|
|
// Get the PascalCase name of the component
|
|
const componentName = fileName
|
|
.replace(/^\.\/(.*)\.\w+$/, '$1') // Remove "./" from the beginning and the file extension from the end
|
|
.replace(/\//g, '-') // Replace directories with hyphens
|
|
.replace(/([a-z])([A-Z])/g, '$1-$2') // Insert hyphen between camelCase words
|
|
.toLowerCase() // Convert to lowercase
|
|
// Globally register the component
|
|
Vue.component(
|
|
componentName,
|
|
// Look for the component options on `.default`, which will
|
|
// exist if the component was exported with `export default`,
|
|
// otherwise fall back to module's root.
|
|
componentConfig.default || componentConfig
|
|
);
|
|
});
|