вместо комментария, уже стало похоже на ответ. можно. в 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'
Да, один компонент = один файл, но все получается более менее аккуратно.