2017-01-20 5 views
0

У меня есть приложение Angular2, и в среде dev он отлично работает. Все зависимости от Angular2 загружаются во время выполнения из каталога node_modules.systemjs-builder - связывание rxjs для angular2

Я использую плагин gulp-typescript для связывания кода приложения и system-js для связывания кода сторонних библиотек.

Это глотком задача для пакетирования Lib файлы:

function bundleLibs() { 
    var files = [ 
    'node_modules/rxjs/bundles/Rx.js', 
    'node_modules/@angular/core/bundles/core.umd.js', 
    'node_modules/@angular/forms/bundles/forms.umd.js', 
    'node_modules/@angular/common/bundles/common.umd.js', 
    'node_modules/@angular/compiler/bundles/compiler.umd.js', 
    'node_modules/@angular/platform-browser/bundles/platform-browser.umd.js', 
    'node_modules/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 
    'node_modules/@angular/upgrade/bundles/upgrade-static.umd.js' 
    ]; 

    var builder = new SystemJSBuilder('dist', { 
    map: { 
     'rxjs': 'node_modules/rxjs' 
    } 
    }); 

    return builder.bundle(files, 'dist/js/lib.js'); 
} 

Я хотел бы, чтобы все rxjs библиотеки, которые будут включены в выходной файл. Но когда я запускаю приложение, я получаю 404 статуса

node_modules/rxjs/Subject.js 
node_modules/rxjs/Observable.js 

(и все другие rxjs файлов).

Это помогает связывать каждый отдельный файл rxjs:

var files = [ 
'node_modules/@angular/core/bundles/core.umd.js', 
'node_modules/rxjs/Subject.js', 
'node_modules/rxjs/Observable.js', 
... 
]; 

Но я считаю, что это не является хорошим решением.

Итак, вопрос в том, как я могу собрать все необходимые файлы из библиотеки rxjs? (необходим для Angular2)

+1

Возможно, посмотрите на это http://stackoverflow.com/questions/39991935/angular2-2-0-x-and-rx-5-beta-12-bundle/39992839#39992839 – martin

ответ

1

Я закончил с следующим решением.

var builder = new SystemJSBuilder('./', { 
     map: { 
     'rxjs': 'node_modules/rxjs' 
     }, 
     packages: { 
     "rxjs": {main: "Rx.js", defaultExtension: "js"} 
     } 
    }); 
    return builder.bundle('rxjs', '.tmp/rxjs.js'); 

Поэтому я создаю отдельные расслоения для углов2 и rxjs, а затем объединяю их в одну библиотеку.

 Смежные вопросы

  • Нет связанных вопросов^_^