Angular 2 rc 6
in Typescript 2.0.2
geschriebenAngular 2 Ahead-of-Time-Compiler mit schluck-Typoskript
Ich versuche Ahead-of-Time-Kompilierung as outlined here zu lernen. Es scheint einfach genug:
- Run
ngc
statt der Typoskript Compiler.ngfactory.ts
Dateien - ersetzen
platformBrowserDynamic().bootstrapModule()
mitplatformBrowser().bootstrapModuleFactory()
Ich bin nicht sicher zu erzeugen, wie den ersten Schritt zu meinem Setup anzuwenden. Ich verwende gulp-typescript 2.13.6
, um mein Typoskript zu 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 meine Werkzeuge? Wie bekomme ich gulp-typescript
um den Angular Compiler zu benutzen? Ich habe versucht:
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('@angular/compiler') // or '@angular/compiler-cli'
});
Dies wirft Fehler, ohne jemals ngc
läuft. Ich habe auch versucht
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('./node_modules/.bin/ngc')
});
Diese ngc
ausführt aber sofort wirft Fehler:
SyntaxError: Unexpected string at ngc:2: basedir=$(dirname "$(echo "$0" | sed -e 's,\,/,g')")
Ich vermute, das liegt daran, dass kein Quellverzeichnis ngc
übergeben (der erforderliche Befehl ist ngc -p path/to/project
)
Grundsätzlich , gibt es eine Möglichkeit, gulp-typescript
zu verwenden, um einen einstufigen Build-Prozess zu haben? (Erzeugen .ngfactory.ts
Dateien, dann alle zu JavaScript kompiliert)
Danke William. Bitte fügen Sie ein paar weitere Details hinzu: Was sind 'cb' und' cb (err) '? Muss ich ein 'child_process' Plugin installieren? Enthält der Pfad den Namen 'tsconfig.json' oder handelt es sich nur um den Pfad zum Verzeichnis? – BeetleJuice
'cb' Ich glaube, das steht für Callback, also übergibt 'cb (err)' in diesem Code-Snippet einfach die Fehlerfunktion in die Callback-Funktion. Ich habe das Snippet aus der Information [hier] (https://www.npmjs.com/package/gulp-exec) angepasst. 'child_process' ist ein integriertes Modul von gulp 4.0 und höher. Was den Pfad betrifft, ist dies von der [Google Link] (https://github.com/angular/angular/tree/master/modules/@angular/compiler-cli) oben, "Es akzeptiert eine' -p "Flagge, die zeigt auf eine 'tsconfig.json'-Datei oder ein Verzeichnis, das eins enthält." also entweder. –