title: What does systemjs.config.js do in angular 2 packaging structure?
body: <p>And also what does var map,packages, var config do here  I am bit confused here 
  do they do any config.I seen every project and I found everywhere they put this file. What this function do?    </p>
  
  <pre><code> (function(global) {
  
        // map tells the System loader where to look for things
        var map = {
          'app':                        'app', // 'dist',
          'rxjs':                       'node_modules/rxjs',
          'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
          '@angular':                   'node_modules/@angular',
      'primeng':                        'node_modules/primeng'
        };
  
        // packages tells the System loader how to load when no filename and/or no extension
        var packages = {
          'app':                        { main: 'boot.js',  defaultExtension: 'js' },
          'rxjs':                       { defaultExtension: 'js' },
          'angular2-in-memory-web-api': { defaultExtension: 'js' },
          'primeng':                    { defaultExtension: 'js' }
        };
  
        var packageNames = [
          '@angular/common',
          '@angular/compiler',
         //
        ];
  
        // add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' }
        packageNames.forEach(function(pkgName) {
          packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
        });
  
        var config = {
          map: map,
          packages: packages
        }
  
        // filterSystemConfig - index.html's chance to modify config before we register it.
        if (global.filterSystemConfig) { global.filterSystemConfig(config); }
  
        System.config(config);
  
      })(this);
  </code></pre>