我正在努力想出一个可行的TypeScript构建步骤,其中包括以下内容:
我目前的尝试涉及使用:
我更喜欢只需要运行一次编译步骤,因为到目前为止我必须为单元测试执行预编译步骤,并在下面执行build-ts
步骤以输出到我的dist文件夹。我尝试使用karma-typescript-pre-processor
混合结果和糟糕的表现(测试,16秒w / o 2秒)。
注意:我还没有尝试解决代码覆盖方面的问题,因为我对我所使用的构建/单元测试解决方案不满意。
我目前使用的业力档案是
module.exports = function(config) {
config.set({
browsers: ['PhantomJS'],
frameworks: ['jasmine'],
files: [
'../bower_components/angular/angular.js',
'../bower_components/angular-mocks/angular-mocks.js',
'../app/**/*_test.ts',
{
pattern: '../app/**/!(*_test).ts',
included: false
}
],
preprocessors: {
'../typings/jasmine/jasmine.d.ts': ['typescript'],
'../app/**/*.ts': ['typescript']
},
typescriptPreprocessor: {
options: {
sourceMap: true,
target: 'ES5',
noResolve: false
},
transformPath: function(path) {
return path.replace(/\.ts$/, '.js');
}
},
//reporters: ['progress', 'growl'],
colors: true
});
};
gulpfile:
gulp.task('build-ts', function () {
return gulp.src(paths.ts)
.pipe(tsc({
noResolve: false,
out: 'app.js',
outDir: paths.dist.js,
removeComments: true,
//sourcePath: '../../app/ts',
//sourcemap: true,
target: 'ES5'
}))
.pipe(gulp.dest(paths.dist.js))
.pipe(connect.reload());
});
答案 0 :(得分:1)
您可以使用gulp.watch在保存时编译打字稿文件。这样,当您运行测试时,typescript已经被编译。 gulp-tsc模块应该有一个设置增量编译的指南。