2016-09-27 6 views
2

Ist es möglich, einen npm-Repo für Angular2 einzurichten, der automatisch die systemjs-Konfig für die Standard-Erweiterung behandelt?Angular2-Bibliothek mit defaultExtension für systemjs konfigurieren

Ich baue ng2-orm und war neugierig, ob das automatisch sein könnte, wenn es npm installiert war.

mein Paket.json hat bereits eine "Haupt" -Definition, aber keine Standard-Erweiterung. Gibt es eine Möglichkeit, dies zu automatisieren, so dass, wenn mein Paket verwendet wird, der Implementierer keine systemjs.config.js Zeilen für sie erstellen muss?

Hier ist meine Datei systemjs.config.js, siehe die ng2-orm-Zeilen, die ich manuell hinzufügen musste.

/** 
* System configuration for Angular samples 
* Adjust as necessary for your application needs. 
*/ 
(function (global) { 
    System.config({ 
    paths: { 
     // paths serve as alias 
     'npm:': 'node_modules/' 
    }, 
    // map tells the System loader where to look for things 
    map: { 
     // our app is within the app folder 
     app: 'app', 
     // angular bundles 
     '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 
     '@angular/common': 'npm:@angular/common/bundles/common.umd.js', 
     '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js', 
     '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', 
     '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 
     '@angular/http': 'npm:@angular/http/bundles/http.umd.js', 
     '@angular/router': 'npm:@angular/router/bundles/router.umd.js', 
     '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js', 
     // other libraries 
     'rxjs':      'npm:rxjs', 
     'angular-in-memory-web-api': 'npm:angular-in-memory-web-api', 
     'ng2-orm': 'npm:ng2-orm' 
    }, 
    // packages tells the System loader how to load when no filename and/or no extension 
    packages: { 
     app: { 
     main: './main.js', 
     defaultExtension: 'js' 
     }, 
     rxjs: { 
     defaultExtension: 'js' 
     }, 
     'angular-in-memory-web-api': { 
     main: './index.js', 
     defaultExtension: 'js' 
     }, 
     'ng2-orm': { 
     main: './dist/js/index.js', 
     defaultExtension: 'js' 
     } 
    } 
    }); 
})(this); 

Antwort

0

Das Werkzeug, das Sie wollen, wenn Sie systemjs.config.js automatisieren möchten, ist das NPM-Modul JSPM. Sie sagen es, um bestimmte Module zu installieren und es installiert diese Module und aktualisiert die package.json und die systemjs.config.js für Sie. Zumindest ist das der Traum!

+0

Danke! Ich werde es ausprobieren – Asperon