What is the need for SystemJS in Angular2?
<p>I am a complete beginner to Angular and Angular2. I am confused about how the workflow is structured. I have been looking at the <a href="https://angular.io/docs/ts/latest/quickstart.html#!#create-and-configure">sample project</a> that is present in the Angular2 site. </p>

<p>Correct me if I am wrong but what I know till now is that all the typescript is transpiled into javascript by the typescript compiler. Then the compiled javascript is actually what runs in the browser.</p>

<p>Now if I am importing the javascript files into typescript using ES6 import statements like the following-:</p>

<pre><code>import { NgModule }      from '@angular/core';
</code></pre>

<p><strong>Why do I again need to use SystemJS to load them -:</strong></p>

<pre><code>map: {
      // our app is within the app folder
      app: 'app',
      // angular bundles
      '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
</code></pre>

<p>I mean isn't that counter productive ? <strong>Looking at the transpiled javascript of the ts files it shows all import statements are converted into require() statements.</strong> <strong>First of all how does require() work in a ES5</strong> js file, and second if thats the case what is SystemJS doing.</p>

<p>This really confusing me. Any help will be greatly appreciated.</p>