title: What's the use of exports / module.exports?
body: <p>Today I've adopting Browserify for my AngularJS project, but there is something that's very unclear to me. In all examples and blog posts I've seen stuff like this:</p>
  
  <h3>/app.js:</h3>
  
  <pre><code>require('./messages');
  angular.module('sling', ['sling.messages']);
  </code></pre>
  
  <h3>/messages/index.js:</h3>
  
  <pre><code>exports = angular.module('sling.messages', [])
      .controller('MessagesListCtrl', require('./MessagesListCtrl'));
  </code></pre>
  
  <h3>/messages/MessagesListCtrl.js:</h3>
  
  <pre><code>module.exports = function() {
      // ...
  });
  </code></pre>
  
  <hr>
  
  <p>Sure, this works, but why do this? I've implemented it like this and that works absolutely fine too and feels more normal for an AngularJS project:</p>
  
  <h3>/app.js:</h3>
  
  <pre><code>require('./messages');
  angular.module('sling', ['sling.messages']);
  </code></pre>
  
  <h3>/messages/index.js:</h3>
  
  <pre><code>angular.module('sling.messages', []);
  require('./MessagesListCtrl');
  </code></pre>
  
  <h3>/messages/MessagesListCtrl.js:</h3>
  
  <pre><code>angular.module('sling.messages').controller('MessagesListCtrl', function() {
      // ...
  });
  </code></pre>
  
  <p>In other words, I'm completely skipping the exports/module.exports, only using <code>require</code> to basically include the files with the controllers, services, filter, etc.</p>
  
  <p>Am I doing this right? I mean it all works, but am I going to be in trouble later on?</p>