Angular 2 Ahead-of-Time-Compiler mit Schluck-Typoskript
Angular 2 rc 6
geschrieben inTypescript 2.0.2
Ich versuche, Ahead-of-Time-Kompilierung zu lernen wie hier beschrieben. Es scheint einfach genug:
Laufngc
anstelle des zu generierenden Typescript-Compilers.ngfactory.ts
filesReplaceplatformBrowserDynamic().bootstrapModule()
mitplatformBrowser().bootstrapModuleFactory()
Ich bin nicht sicher, wie ich den ersten Schritt auf mein Setup anwenden soll. Ich benutzegulp-typescript 2.13.6
um mein Typoskript in JavaScript zu kompilieren.
gulpfile.js
var ts = require('gulp-typescript');
var tsProject = ts.createProject('tsconfig.json', {
//Use TS version installed by NPM instead of gulp-typescript's built-in
typescript: require('typescript')
});
gulp.task('build-ts', function () {
return gulp.src(appDev + '**/*.ts')
.pipe(ts(tsProject))
.pipe(gulp.dest(appProd));
});
Also meine Frage ist; Wie integriere ich die Anweisungen in mein Werkzeug? Wie bekomme ichgulp-typescript
um den Angular Compiler zu benutzen? Ich habe es versucht
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('@angular/compiler') // or '@angular/compiler-cli'
});
Dies wirft Fehler, ohne jemals zu laufenngc
. Ich habe auch versucht
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('./node_modules/.bin/ngc')
});
Dies führt @ angc
wirft aber sofort einen Fehler:
SyntaxError: Unerwarteter String bei ngc: 2: basedir = $ (Verzeichnisname "$ (echo" $ 0 "| sed -es, \, /, g ')")
ch vermute, dies liegt daran, dass kein Quellverzeichnis an @ übergeben wirngc
(der erforderliche Befehl istngc -p path/to/project
)
Grundsätzlich gibt es eine Möglichkeit, @ zu verwendgulp-typescript
einen einstufigen Build-Prozess haben? (generieren.ngfactory.ts
Dateien, kompilieren Sie dann alle in JavaScript)