Quelles sont les différences entre SystemJS et Webpack?

Je suis de créer mon premier Angulaire de l'application, et je voudrais savoir quel est le rôle du module de chargeurs.
Pourquoi nous avons besoin d'eux?
J'ai essayé de rechercher et de recherche sur Google et je ne comprends pas pourquoi nous avons besoin d'installer l'un d'entre eux pour exécuter notre application?

Ne pourrait-elle pas être suffisant d'utiliser import pour charger des trucs de nœud modules?

J'ai suivi ce tutoriel (qui utilise SystemJS) et il me fait de l'utilisation systemjs.config.js fichier:

/**
 * System configuration for Angular samples
 * Adjust as necessary for your application needs.
 */
(function(global) {
  //map tells the System loader where to look for things
  var map = {
    'app':                        'transpiled', //'dist',
    '@angular':                   'node_modules/@angular',
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
    'rxjs':                       'node_modules/rxjs'
  };
  //packages tells the System loader how to load when no filename and/or no extension
  var packages = {
    'app':                        { main: 'main.js',  defaultExtension: 'js' },
    'rxjs':                       { defaultExtension: 'js' },
    'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' },
  };
  var ngPackageNames = [
    'common',
    'compiler',
    'core',
    'forms',
    'http',
    'platform-browser',
    'platform-browser-dynamic',
    'router',
    'router-deprecated',
    'upgrade',
  ];
  //Individual files (~300 requests):
  function packIndex(pkgName) {
    packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' };
  }
  //Bundled (~40 requests):
  function packUmd(pkgName) {
    packages['@angular/'+pkgName] = { main: '/bundles/' + pkgName + '.umd.js', defaultExtension: 'js' };
  }
  //Most environments should use UMD; some (Karma) need the individual index files
  var setPackageConfig = System.packageWithIndex ? packIndex : packUmd;
  //Add package entries for angular packages
  ngPackageNames.forEach(setPackageConfig);
  var config = {
    map: map,
    packages: packages
  };
  System.config(config);
})(this);

Pourquoi nous avons besoin de ce fichier de configuration?

Pourquoi nous avons besoin de SystemJS (ou WebPack ou autres)?

Enfin, à votre avis, quel est le mieux?

InformationsquelleAutor smartmouse | 2016-07-08