2016-06-02 8 views
3

Ich möchte einen zentralen Knoten Module Ordner (mit npm Update -g auf C-Datenträger speichern) anstelle der üblichen lokalen Ordner, die in der App enthalten ist, aufgrund Angular2 CLI Installieren von 125 MB + Knoten-Modulen im lokalen Ordner.Link zum globalen Knoten Module Ordner von Angular2 App

So in den Typoskript Dateien, die wir importierten vorher den Winkel Kern etwa so:

import { Component } from '@angular/core'; 

Aber offensichtlich diese nicht funktioniert, ist es möglich, einen Präfix oder schwer URL zu setzen irgendwo um die App zu sagen, in der die Suche globaler Ordner für die Module?

Antwort

3

Ändern SystemJs Konfiguration (in der Regel systemjs.config.js Datei), so dass es @angular zu Ihnen zentralisiert node_modules\@angular Ordner, anstelle von lokalen. Hier

var map = { 
    'app' : 'app', 
    '@angular' : 'C:/node_modules/@angular', // path to centralized repo 
}; 
1

ist, was Ihre systemjs.config Datei sein sollte:

(function(global) { 

    // map tells the System loader where to look for things  
    var map = { 
     'app':      'src',   
     '@angular':     'global location' 
    }; 

    // 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' }, 

    //can add as per your requirement 
    }; 

    var packageNames = [ 
     '@angular/common', 
     '@angular/compiler', 
     '@angular/core', 
     '@angular/http', 
     '@angular/platform-browser', 
     '@angular/platform-browser-dynamic', 
     '@angular/router', 
     '@angular/router-deprecated', 
     '@angular/testing', 
     '@angular/upgrade', 
    ]; 

    // 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' }; 
    }); 


})(this); 
Verwandte Themen