2016-05-17 2 views
4

Я хочу создать файл js с моими зависимостями angular2 BUT исключить мои файлы приложения js.исключить мои файлы angular2 rc из systemjs-builder

Потому что в каждом изменении, которое я делаю в ts-файле (например, my clientList.component.ts), мне нужно перестроить пакет.

Это мой глоток задача:

gulp.task('bundle:angular', function() { 
var builder = new Builder('', './systemjs.config.js'); 
return builder 
    .buildStatic('./wwwroot/ngApp/main.js', './wwwroot/js/libs/angular.bundle.js', 
         { minify: true, sourceMaps: true}) 
    .then(function (output) { 
     console.log('Build complete'); 
    }) 
    .catch(function (err) { 
     console.log('Build error'); 
    }); 
}); 

И это мой systemjs.config.js

(function (global) { 
    var map = { 
     'app': './wwwroot/ngApp', 
     'rxjs': './wwwroot/js/libs/rxjs', 
     '@angular': './wwwroot/js/libs/@angular' 
    }; 
    var packages = { 
     'app': { main: 'main.js', defaultExtension: 'js' }, 
      'rxjs': { defaultExtension: 'js' } 
    }; 

    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' 
    ]; 
    packageNames.forEach(function (pkgName) { 
    packages[pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
    }); 

    var config = { 
    map: map, 
    packages: packages 
    } 

    if (global.filterSystemConfig) { global.filterSystemConfig(config); } 
    System.config(config); 

})(this); 

Благодаря

ответ

0

Вы делаете статический пакет (то есть один, который может загружаться непосредственно <script>) вашего приложения, которое включает в себя все зависимости, таким образом, угловые. Чтобы отделить ваше приложение от угловой (или любой другой библиотеки), вам нужно будет собрать пакет поставщиков, создав файл, который имеет все зависимости require. Пакет приложений должен быть разницей между приложением и его зависимостями и пакетом поставщиков.

https://github.com/systemjs/builder#example---common-bundles

Однако, если то, что вы после оборотное время после изменения исходных файлов, я бы рекомендовал смотреть на WebPack. Он имеет плагины для создания пакетов дельта и с его webpack-dev-сервером очень быстро восстанавливает то, что изменилось (около 2 секунд в моей настройке). Я не думаю, что вы можете получить аналогичные быстрые периоды с использованием SystemJS.

1

Это будет делать,

gulp.task('bundle:angular', function() { 
var builder = new Builder('', './systemjs.config.js'); 
return builder 
    .buildStatic('./wwwroot/ngApp/main.js - @angular', './wwwroot/js/libs/angular.bundle.js', 
         { minify: true, sourceMaps: true}) 
    .then(function (output) { 
     console.log('Build complete'); 
    }) 
    .catch(function (err) { 
     console.log('Build error'); 
    }); 
}); 
Смежные вопросы