Я пытаюсь связать свое приложение с системным конструктором. Это «основное» приложение, в котором есть угловое2. Затем остальные компоненты загружаются в ядро. В настоящий момент Iam связывает мое ядро, которое работает, но остальные компоненты получают 404, потому что они ищут старые пути углового2.SystemJS Builder, Bundle без Angular2 для Lazyloading
Я хочу, чтобы компоненты были в комплекте, но без углового2 компоненты затем используют один в моем ядре. Я использую buildStatic для этого? Я только компилирую файлы ts в js.
Некоторые сниппеты, что я пытался:
Строительство ядро, которое работает:
gulp.task('bundle:js', function() {
var builder = new SystemBuilder('dist', './src/systemjs.config.js');
return builder.buildStatic('app', 'dist/app.js');
});
В моей index.html я загрузке тогда app.js файл. Сейчас около 2 МБ.
Затем лениво загрузится компонент ищет: https://IP/@angular/router-deprecated, что приводит к 404.
Теперь к «жесткой» части:
gulp.task('build:static', function() {
var builder = new SystemBuilder('', './dist/systemjs.config.js');
builder.buildStatic('dist/start.component.js', 'dist/start.component.static.js', {
defaultExtension: 'js',
globalName: 'test',
globalDeps: {
'@angular': '@angular'
}
});
});
После этого я получаю файл JS, который составляет около 1 , 1 Мб. Итак, я думаю, что в нем нет углового2?
Если теперь я пытаюсь запустить мое приложение он говорит мне:
EXCEPTION: Error: Uncaught (in promise): No Directive annotation found on StartComponent
У меня есть директивы в моей StartComponent. В чем моя ошибка? Возможно ли это, как я это делаю?
Спасибо!
Используемый builder.bundle(), тогда он сработал. –