Angular 2 rc 6
viết bằng Typescript 2.0.2
góc 2 Ahead-of-Thời gian biên dịch với ngụm-nguyên cảo
Tôi đang cố gắng tìm hiểu Ahead-of-Time biên soạn as outlined here. Có vẻ như đơn giản đủ:
- Run
ngc
thay vì trình biên dịch nguyên cảo để tạo.ngfactory.ts
file - Thay
platformBrowserDynamic().bootstrapModule()
vớiplatformBrowser().bootstrapModuleFactory()
Tôi không chắc chắn làm thế nào để áp dụng bước đầu tiên để thiết lập của tôi. Tôi sử dụng gulp-typescript 2.13.6
để biên dịch chữ ký của tôi thành 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));
});
Vì vậy, câu hỏi của tôi là; làm cách nào để tích hợp các hướng dẫn vào công cụ của tôi? Làm cách nào để nhận được gulp-typescript
để sử dụng Trình biên dịch Góc? Tôi đã thử:
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('@angular/compiler') // or '@angular/compiler-cli'
});
Điều này gây lỗi mà không bao giờ chạy ngc
. Tôi cũng đã cố gắng
var tsProject = ts.createProject('tsconfig.json', {
typescript: require('./node_modules/.bin/ngc')
});
này thực hiện ngc
nhưng ngay lập tức ném lỗi:
SyntaxError: Unexpected string at ngc:2: basedir=$(dirname "$(echo "$0" | sed -e 's,\,/,g')")
Tôi nghi ngờ điều này là bởi vì không có thư mục nguồn sẽ được chuyển cho ngc
(lệnh yêu cầu là ngc -p path/to/project
)
Về cơ bản , có cách nào để sử dụng gulp-typescript
để có quy trình tạo một bước không? (Tạo .ngfactory.ts
file, sau đó biên dịch tất cả để JavaScript)
Cảm ơn William. Vui lòng thêm một vài chi tiết khác: 'cb' và' cb (err) 'là gì? Tôi có cần cài đặt plugin 'child_process' không? Đường dẫn có bao gồm tên 'tsconfig.json' hay chỉ là đường dẫn đến thư mục? – BeetleJuice
'cb' Tôi tin là viết tắt của gọi lại, vì vậy trong đoạn mã đó,' cb (err) 'chỉ cần chuyển hàm lỗi vào hàm gọi lại. Tôi đã điều chỉnh đoạn trích đó từ thông tin [ở đây] (https://www.npmjs.com/package/gulp-exec). 'child_process' là một mô-đun tích hợp của gulp 4.0 trở lên. Về đường dẫn, đây là từ [liên kết Google] (https://github.com/angular/angular/tree/master/modules/@angular/compiler-cli) ở trên, "Nó chấp nhận cờ' -p' trỏ đến tệp 'tsconfig.json' hoặc một thư mục chứa một tệp." Vì vậy. –