我们有一个现有的Angular 1项目,我们希望逐步引入Angular 2组件并最终转换为Angular 2.该项目不是使用Typescript或模块加载器编写的,现在转换整个项目太多了。但Angular 2组件将用Typescript编写,并将使用模块加载器(SystemJS)。
旧版javascript代码通过现有的gulp脚本捆绑在一起。我想对gulp脚本进行最小的修改,以便它忽略从typescript编译的javascript模块。我的想法是尝试排除具有相同基本名称的同一文件夹中具有相应.ts文件的.js文件。我只是无法弄清楚如何做到这一点。
答案 0 :(得分:1)
以下使用fs.statSync
检查相应的.ts
文件是否存在,并gulp-filter
排除这些文件的情况是这样的:
var gulp = require('gulp');
var filter = require('gulp-filter');
var fs = require('fs');
gulp.task('default', function() {
return gulp.src('src/**/*.js')
.pipe(filter(function(file) {
try {
return !fs.statSync(file.path.replace(/\.js$/, '.ts')).isFile();
} catch (e) {
return true;
}
}))
.pipe(gulp.dest('dist'));
});