вместо комментария, уже стало похоже на ответ. можно. в components/common/index.js пишем
import component1 from './component1.vue';
import component2 from './component2.vue';
...
export {component1, component2}
или даже
components = {};
fs
.readdirSync(__dirname)
.filter(function(file) {
return (file.indexOf(".") !== 0) && (file !== "index.js");
})
.forEach(function(file) {
components[component.name] = require(path.join(__dirname, file));
});
module.exports = components;
и импортируйте хоть все глобально через
for (var component in components) {
Vue.component(component, components[component]);
}
, хоть по частям в нужных файлах через
import {component} from './components/common'
Да, один компонент = один файл, но все получается более менее аккуратно.