変更時にすべてのファイルがコンソールに記録されないように、gulp-changed を統合しています。これは私の HTML ファイルでは機能しますが、gulp-typescript を使用して TypeScript ファイルを JavaScript にトランスパイルしています。
ここでは、Dan Wahlin が提案した TypeScript ワークフローを使用します。
だから私は次のように gulp-typescript に gulp-changed を実装しました:
var res = gulp.src(config.src)
.pipe($.sourcemaps.init())
.pipe($.changed(config.dest)) // <-- THIS LINE IS WHAT I ADDED
.pipe($.typescript({
target: config.options.target,
module: config.options.module,
removeComments: true
}));
res.dts.pipe(gulp.dest(config.dest));
return res.js
.pipe($.sourcemaps.write('.'))
.pipe(gulp.dest(config.dest));
私のconfig
オブジェクトは次のようになります。
"src": "./source/app/**/*.ts",
"ignore": "!./source/**/*.d.ts",
"options": {
"target": "ES5",
"module": "commonjs"
},
"lint": "prose",
"dest": "./build/public/app"
それでも、1 つのファイルを変更すると、すべてのファイルがログに記録されます。上記.pipe($.changed(config.dest))
の行を行の直前に移動しようとさえしました.pipe($.sourcemaps.write('.'))
。
繰り返しますが、運が悪いです。
誰でもこれを修正する方法を知っていますか?