title: Difference Between data-main and normal script loading
body: <p>When using RequireJS, what's the difference between including your script with </p>
  
  <pre><code>&lt;script data-main="scripts/main" src="scripts/require.js"&gt;&lt;/script&gt;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>&lt;script src="scripts/require.js"&gt;&lt;/script&gt;
  </code></pre>
  
  <p>i.e. what does the <code>data-main</code> attribute change about loading in a script?  I've <a href="http://requirejs.org/docs/api.html#data-main" rel="noreferrer">read through the docs on this</a>, and the different isn't entirely clear to me.</p>
  
  <blockquote>
    <p>You will typically use a data-main script to set configuration options and then load the first application module. Note: the script tag require.js generates for your data-main module includes the async attribute. This means that you cannot assume that the load and execution of your data-main script will finish prior to other scripts referenced later in the same page.</p>
  </blockquote>
  
  <p>The documentation mentions that you'll <em>typically use a data-main script to set configuration options and load the first application module</em> — but can't you also do that via a plain old <code>script</code> tag?  Is there a benefit to doing configuration loading the application module with a <code>data-main</code> attribute?</p>
  
  <p>Is the only different with <code>data-main</code> the asynchronous loading?  Or is there something more?</p>