Angular 2 Ahead-of-Time Compiler с gulp-машинописью
Angular 2 rc 6
написано вTypescript 2.0.2
Я пытаюсь научиться опережать время компиляциикак изложено здесь, Это кажется достаточно простым:
Бежатьngc
вместо компилятора Typescript для генерации.ngfactory.ts
файлызамещатьplatformBrowserDynamic().bootstrapModule()
сplatformBrowser().bootstrapModuleFactory()
Я не уверен, как применить первый шаг к моей настройке. я используюgulp-typescript 2.13.6
скомпилировать мою машинопись в 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));
});
Итак, мой вопрос: как интегрировать инструкции в инструмент? Как я могу получитьgulp-typescript
использовать угловой компилятор? Я пробовал:
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('@angular/compiler') // or '@angular/compiler-cli'
});
Это выбрасывает ошибки даже не работаетngc
, Я тоже пробовал
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('./node_modules/.bin/ngc')
});
Это выполняетngc
но сразу выдает ошибку:
SyntaxError: Неожиданная строка в ngc: 2: basedir = $ (dirname "$ (echo" $ 0 "| sed -e 's, \, /, g')")
Я подозреваю, что это потому, что никакой исходный каталог не передаетсяngc
(необходимая командаngc -p path/to/project
)
В принципе, есть ли способ использоватьgulp-typescript
иметь один шаг процесса сборки? (генерировать.ngfactory.ts
файлы, затем скомпилировать все в JavaScript)