title: RequireJs - Define vs Require
body: <p>For modules I don't return an object I have been using require instead of define. For example say I have the following jQuery plugin (jquery.my-plugin.js):</p>
  
  <pre><code>require(['jquery'], function($) {
      $.fn.myPlugin = function(options) {
          ...
      };
  });
  </code></pre>
  
  <p>Now if I say the following in another module:</p>
  
  <pre><code>require(['jquery', 'jquery.my-plugin'], function($) {
      $('#element').myPlugin();
  });
  </code></pre>
  
  <p>I've found this doesn't work because myPlugin has not been registered. However if I change the require to a define within my jquery.my-plugin module then it works fine.</p>
  
  <p>I'd appreciate it if someone could clear up why I have to do this. I like to understand something fully before I go ahead and use it. Thanks</p>