title: Angular ES6 - how to organize controllers?
body: <p>I have a piece of code:</p>
  
  <pre><code>'use strict';
  /*jshint esnext: true */
  /*global angular: false */
  
  import ModalCtrl from './controllers/ModalCtrl';
  import ShowVersionCtrl from './controllers/ShowVersionCtrl';
  import TodoListCtrl from './controllers/TodoListCtrl';
  
  
  var app = angular.module('Todo', ['ngRoute'])
      .controller('ModalCtrl', ModalCtrl)
      .config(($routeProvider) =&gt; {
          $routeProvider
              .when('/', {
                  templateUrl : './templates/main.html',
                  controller: 'ShowVersionCtrl'
              })
              .when('/list', {
                  templateUrl : './templates/list.html',
                  controller: 'TodoListCtrl'
              })
              .when('/add', {
                  templateUrl : './templates/add.html',
                  controller: 'TodoListCtrl'
              })
              .when('/search', {
                  templateUrl : './templates/search.html',
                  controller: 'TodoListCtrl'
              });
      });
  </code></pre>
  
  <p>And I have several questions:<br>
  1. Is it contrary to good practices if I assign controller before <code>config</code>, like <code>.controller('ModalCtrl', ModalCtrl)</code>?<br>
  2. Is it possible to assign multiple controllers inside <code>routeProvider</code>, like <code>controller: ['ShowVersionCtrl', 'ModalCtrl']</code><br>
  3. What is the best way to set global controller? And is it possible to set several of them?<br>
  4. Do I need to add <code>ng-controller</code> to injected template after I specified controller in <code>routeProvider</code> config?</p>