Bee*_*ice 10 deployment typescript gulp gulp-typescript angular
Angular 2 rc 6 写的 Typescript 2.0.2
我正在尝试学习如此概述的 Ahead-of-Time编译.看起来很简单:
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));
});
Run Code Online (Sandbox Code Playgroud)
所以我的问题是; 如何将指令集成到我的工具中?如何gulp-typescript使用Angular Compiler?我试过了:
var tsProject = ts.createProject('tsconfig.json', {
    typescript: require('@angular/compiler') // or '@angular/compiler-cli'
});
Run Code Online (Sandbox Code Playgroud)
这会抛出错误而不会运行ngc.我也试过了
var tsProject = ts.createProject('tsconfig.json', {
    typescript: require('./node_modules/.bin/ngc')
});
Run Code Online (Sandbox Code Playgroud)
这确实执行ngc但立即抛出错误:
SyntaxError:ngc处的意外字符串:2:basedir = $(dirname"$(echo"$ 0"| sed -e's,\,/,g')")
我怀疑这是因为没有传递源目录ngc(所需的命令是ngc -p path/to/project)
基本上,有没有办法使用gulp-typescript一步构建过程?(生成.ngfactory.ts文件,然后将所有文件编译为JavaScript)
我想typescript: require(..)是因为gulp-typescript找不到调用的东西typescript或者试图运行命令tsc,因为它不能正常工作,因为ngc它没有找到它.
现在,如果您的项目就像编译它一样简单,您可以从gulp运行命令,如下所示:
var exec = require('child_process').exec;
gulp.task('task', function (cb) {
  exec('ngc -p "<path to your tsconfig.json>"', function (err, stdout, stderr) {
    console.log(stdout);
    console.log(stderr);
    cb(err);
  });
});
Run Code Online (Sandbox Code Playgroud)
这需要您在"配置"标题下tsconfig.json正确设置您的设置,以及Google在此处讨论的潜在额外选项.
如果你需要gulp-typescript包提供的更复杂的功能,我担心你要么自己开发它,要么等待其他人.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           4295 次  |  
        
|   最近记录:  |