Все, настроил через webpack.
Кому интересно:
У меня Angular 2 работает в связке с Laravel 5, а значит Elixir.
Для Elixir есть 3 плагина Webpack.
Самый нормальный - laravel-elixir-webpack-ex, он умеет работать с gulp watch.
var webpack = require('laravel-elixir-webpack-ex');
mix.copy('node_modules/angular2/bundles/angular2-polyfills.js', 'public/js/angular2');
mix.webpack('app.ts', {
resolve: {
extensions: ['', '.js', '.ts']
},
module: {
loaders: [
{ test: /\.ts/, loader: 'ts-loader' }
]
}
}, 'public/js', 'resources/assets/typescript');
Импорт скриптов выглядит так:
<script src="js/angular2/angular2-polyfills.js"></script>
<script src="js/app.js"></script>
Кстати, с минификацией у A2 тоже проблемы. Дефолтная минификация ломает шаблоны с *ngIf-подобным синтаксисом. Пришлось, пока не поправят, ставить mangle: false. Тогда все ок.
Итог: с 6.5mb и 250 реквестов ужал до 1.1mb и 14 реквестов.