Angular 2 rc 6
napisany w Typescript 2.0.2
kątowa 2 Ahead-of-Time Compiler z łykiem-maszynopisu
Próbuję nauczyć Ahead-of-time kompilacji as outlined here. Wydaje się dość proste:
- Run
ngc
zamiast kompilator Typescript wygenerować.ngfactory.ts
plików - Wymień
platformBrowserDynamic().bootstrapModule()
zplatformBrowser().bootstrapModuleFactory()
nie jestem pewien, jak zastosować pierwszy krok do mojej konfiguracji. Używam gulp-typescript 2.13.6
do kompilacji mojego maszynopisu do JavaScript.
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));
});
Więc moje pytanie brzmi; jak mogę zintegrować instrukcje z moim oprzyrządowaniem? Jak uzyskać gulp-typescript
, aby użyć kompilatora kątowego? Próbowałem:
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('@angular/compiler') // or '@angular/compiler-cli'
});
To powoduje błędy bez konieczności uruchamiania ngc
. Próbowałem też
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('./node_modules/.bin/ngc')
});
ten ma wykonać ngc
ale natychmiast wyrzuca błąd:
SyntaxError: Unexpected string at ngc:2: basedir=$(dirname "$(echo "$0" | sed -e 's,\,/,g')")
Podejrzewam, to dlatego, że nie katalog źródłowy jest przekazywana do ngc
(wymagane polecenie jest ngc -p path/to/project
)
Zasadniczo , czy istnieje sposób, aby użyć gulp-typescript
do jednokrokowego procesu kompilacji? (Generowanie .ngfactory.ts
pliki, a następnie skompilować wszystko JavaScript)
Dzięki William. Dodaj jeszcze kilka szczegółów: Co to są 'cb' i' cb (err) '? Czy muszę zainstalować wtyczkę 'child_process'? Czy ścieżka zawiera nazwę 'tsconfig.json' lub jest po prostu ścieżką do katalogu? – BeetleJuice
'cb' Wierzę, że oznacza callback, więc w tym fragmencie kodu' cb (err) 'po prostu przekazuje funkcję błędu do funkcji wywołania zwrotnego. Skorzystałem z tego fragmentu informacji [tutaj] (https://www.npmjs.com/package/gulp-exec). 'child_process' jest wbudowanym modułem gulp 4.0 i wyższych. Odnośnie ścieżki, jest to z [link Google] (https://github.com/angular/angular/tree/master/modules/@angular/compiler-cli) powyżej, "Akceptuje on flagę' -p ", która wskazuje na plik 'tsconfig.json' lub katalog zawierający jeden." więc, albo. –