Angular 2 rc 6
написано в Typescript 2.0.2
Угловое 2 вперед-из-Time Compiler с глотком-машинописи
Я пытаюсь научиться Ahead-оф-времени компиляции as outlined here. Это кажется достаточно простым:
- Run
ngc
вместо Машинопись компилятор генерировать.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: Unexpected string at ngc:2: basedir=$(dirname "$(echo "$0" | sed -e 's,\,/,g')")
Я подозреваю, что это потому, что нет исходного каталога не передается ngc
(требуемая команда ngc -p path/to/project
)
В основном , есть ли способ использовать gulp-typescript
для создания одного шага? (Генерировать .ngfactory.ts
файлов, а затем собрать все JavaScript)
Спасибо, Уильям. Пожалуйста, добавьте еще несколько деталей: Что такое 'cb' и' cb (err) '? Нужно ли устанавливать плагин 'child_process'? Включает ли путь имя 'tsconfig.json' или это просто путь к каталогу? – BeetleJuice
'cb' Я считаю, что это обратный вызов, поэтому в этом фрагменте кода' cb (err) 'просто передает функцию ошибки в функцию обратного вызова. Я адаптировал этот фрагмент из информации [здесь] (https://www.npmjs.com/package/gulp-exec). 'child_process' - это встроенный модуль gulp 4.0 и выше. Что касается пути, это из ссылки [Google] (https://github.com/angular/angular/tree/master/modules/@angular/compiler-cli) выше: «Он принимает флаг' -p', который указывает на файл 'tsconfig.json' или каталог, содержащий его." так и. –