Я делаю небольшой проект, чтобы поиграть в мешок хорошего качества, который ES6 приносит, я пытаюсь установить регистр класса как директиву angular, но я столкнулся с этой ошибкой "TypeError: не могу позвонить класс как функция", но из примеров, которые я нахожу, они просто пишут класс и регистрируют его с помощью angular в качестве директивы. Вот моя директива.
class dateBlock {
  constructor () {
    this.template = '/app/dateblock/dateblock.html';
    this.restrict = 'AE';
    this.scope = {};
  }
};
export default dateBlock
и мой индекс, где я импортирую его, а затем объявляю его.
import calendarController from './calendar/calendar.js'
import dateBlock from './dateblock/dateblock.js'
function setup($stateProvider) {
    $stateProvider
      .state('base', {
        url: '',
        controller: calendarController,
        templateUrl: '/app/calendar/calendar.html'
      });
    };
setup.$inject = ['$stateProvider']
var app = angular.module('calApp',['ngAnimate','ui.router','hmTouchEvents', 'templates'])
  .config(setup)
  .controller('calendarController', calendarController)
  .directive('dateBlock', dateBlock)
Если бы я пропустил какой-то важный шаг, я бы с удовольствием это услышал. Кроме того, вопрос о том, чище ли импортировать все компоненты приложений в индекс и регистрировать их там или экспортировать, а также импортировать и регистрировать в компонентах?